Можно ли создать уникальное ограничение на сервере MS SQL. Получить ошибку в поле выражения

Мне нужно создать уникальное ограничение, потому что мой столбец в базе данных должен состоять из уникальных значений. Тип varchar. Ниже мое выражение:

      ALTER TABLE Visit ADD CONSTRAINT constr1 UNIQUE NONCLUSTERED (time)

Но получаю ошибку, что это выражение неверно

Не могли бы вы помочь мне?


person John Smith    schedule 10.05.2012    source источник
comment
Какой точный текст ошибки?   -  person zimdanen    schedule 11.05.2012
comment
Ошибка проверки ограничения CK_Visit   -  person John Smith    schedule 11.05.2012


Ответы (1)


В соответствии с этим SQL Server 2005 How Create a Unique Constraint? первый ответ говорит, что вам нужно имя столбца, но я вижу, что вы написали time, что является ключевым словом. Если у вас есть столбец с именем time, напишите вместо него [time] :)

person Andrius Naruševičius    schedule 10.05.2012
comment
Вау, спасибо, ваша ссылка мне помогла. В первый раз я попробовал так: правый клик -> добавить ограничение, и в поле выражения попробовал написать мой предыдущий вариант. Но как использовать это ограничение в коде С#?? Как это выполнить из кода? Является ли это возможным? - person John Smith; 11.05.2012
comment
Если мой ответ помог, проголосуйте за него и пометьте как ответ. О вашем дальнейшем вопросе: ограничения находятся в mssql, а не в стороне С#. Однако вы можете проверить, обновил/вставил ли какой-либо запрос строки, и таким образом узнать, повлияло ли ограничение на ваши данные. В противном случае я не вижу другого способа использовать его в коде С# :) - person Andrius Naruševičius; 11.05.2012
comment
извините, но я не могу голосовать. Когда я пытаюсь это сделать, я получаю сообщение: Для голосования требуется 15 репутации... Что это значит? Я новенький на этом форуме... - person John Smith; 11.05.2012
comment
Вы получаете баллы за ответы, комментарии, в основном - за помощь другим. Если бы у вас были баллы и вы проголосовали за мой ответ, я бы добавил баллы к моей текущей стопке, что означало бы, что я полезный человек :) Кроме того, вы можете потратить баллы, создав дополнительную награду (таким образом - больше внимания и больше шансов получить на него ответил кто-то) на какой-то вопрос :) - person Andrius Naruševičius; 12.05.2012