2009-11-03 3 views
1

В SQL Server CE ограничения внешнего ключа на поля nvarchar применяются только после удаления конечного пробела. Это означает, что если PK «foo», я могу вставить «foo» в FK.
Почему это так? Это, по-видимому, плохо подрывает целостность данных, которую должна обеспечить система внешнего ключа.Внешние ключи SQL Server CE nvarchar с завершающим пробелом

Есть ли способ принудительного ограничения внешнего ключа, чтобы в сравнение было включено пробел? Какие у меня варианты для работы над этим поведением?
Замена полей FK на ints является наиболее очевидным решением, но последнее средство (в моем случае) связано с тем, как было реализовано соответствующее приложение.

ответ

0

Это правильно. Ваш единственный выбор - не использовать ФСК на основе строк. Вы можете создать таблицу поиска со строками в них, которые назначили уникальный идентификатор, который вы затем используете для своих FK, если хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^