1

在 SQL Server CE 中,nvarchar 字段的外键约束仅在删除尾随空格后才强制执行。这意味着如果 PK 是“foo”,我可以将“foo”插入 FK。
为什么会这样?它似乎严重破坏了外键系统应该提供的数据完整性。

有没有办法强制执行外键约束,以便在比较中包含空格?我有哪些选项可以解决此问题?
用整数替换 FK 字段是最明显的解决方案,但由于相关应用程序的实现方式,这是最后的手段(在我的情况下)。

4

1 回答 1

0

那是对的。您唯一的选择是不使用基于字符串的 FK。您可以创建一个查找表,其中包含分配了 uniqueID 的字符串,然后如果您愿意,可以将其用于 FK。

于 2009-11-26T01:37:45.117 回答