У меня есть таблица с только 1 основным столбцом (nvarchar), как в дизайнере, она помечена как первичный ключ и не допускает null. Но каким-то образом в этой таблице есть строка с пустым значением ключа, она, конечно, не является нулевой и не дублирует никакие другие строки в столбце первичного ключа, и не происходит никакого конфликта или нарушения.Почему столбец первичного ключа пуст в SQLite?
Однако, насколько я знаю, такое значение (пустое) недопустимо для первичного столбца SQL Server. Интересно, есть ли возможность включить его, чтобы он работал правильно. Или мне нужно проверить значение самостоятельно через ограничение CHECK или прямо в коде C# (перед обновлением).
Ваша помощь будет высоко оценена. Благодаря!
Ну, тестирование с использованием кода - это не то, что я сделал, я тестировал с помощью конструктора, и он обнаружил диалоговое окно с ошибкой. Если это так, это не отличается от SQL Server. Однако как насчет опции или настройки? (прежде чем рассматривать проверку ограничения или другие проверки данных). Благодаря! –
Существует опция, которая заставляет NULL обрабатываться как пустую строку в операциях конкатенации строк, но ничего не похожее на таблицы. Вероятно, редактор таблиц, который вы используете, преобразует пустые значения в null перед отправкой обновления - это поведение инструмента, поэтому я не уверен, как это исправить. Вы можете создать сценарий своего обновления из инструмента и посмотреть, что такое SQL. Имейте в виду, что все эти инструменты работают, отправляя простой старый SQL на сервер. Если вы можете каким-то образом перехватить (например, с профилировщиком), вы можете увидеть, что он делает. – Jasmine
О, BTW - использование дизайнеров действительно повредит вам при изучении SQL - вам нужно научиться ручному SQL-коду. В этот момент дизайнеры становятся более или менее бесполезными, потому что вы можете кодировать быстрее, чем вы можете передвигаться. – Jasmine