在 SQL Server CE 中,nvarchar 字段的外键约束仅在删除尾随空格后才强制执行。这意味着如果 PK 是“foo”,我可以将“foo”插入 FK。
为什么会这样?它似乎严重破坏了外键系统应该提供的数据完整性。
有没有办法强制执行外键约束,以便在比较中包含空格?我有哪些选项可以解决此问题?
用整数替换 FK 字段是最明显的解决方案,但由于相关应用程序的实现方式,这是最后的手段(在我的情况下)。
在 SQL Server CE 中,nvarchar 字段的外键约束仅在删除尾随空格后才强制执行。这意味着如果 PK 是“foo”,我可以将“foo”插入 FK。
为什么会这样?它似乎严重破坏了外键系统应该提供的数据完整性。
有没有办法强制执行外键约束,以便在比较中包含空格?我有哪些选项可以解决此问题?
用整数替换 FK 字段是最明显的解决方案,但由于相关应用程序的实现方式,这是最后的手段(在我的情况下)。