SQL Server не удаляет записи - PullRequest
1 голос
/ 04 июля 2011

Я новичок в MSSQL Server и не знаю об этом.

У меня есть вопрос ниже.

Я добавил девять записей с тем же значением, как показано на изображении ниже вSQL Server 2005.

Я не дал первичного ключа для таблицы.

Теперь, когда я выбираю одну запись или несколько записей и нажимаю клавишу удаления, он не удаляет записи из таблицы, авыдает ошибку.

enter image description here

Ответы [ 3 ]

6 голосов
/ 04 июля 2011

Вам необходимо добавить первичный ключ для уникальной идентификации каждой записи, в противном случае сервер SQL не сможет различить записи и, следовательно, не сможет узнать, какой из них удалить, что приведет к ошибке.

2 голосов
/ 04 июля 2011

В MSSQL у вас должен быть первичный ключ для таблицы.Это уникально идентифицирует каждую строку этой конкретной таблицы.

Например, в Oracle вам это не нужно, так как там вы можете использовать ROWID (то есть каждая строка из каждой таблицы имеет уникальный идентификатор в базе данных).Как только вы узнаете этот идентификатор, Oracle точно знает, из какой он таблицы.

Так что теперь вы можете добавить первичный ключ в таблицу и сделать его автоинкрементным, что обеспечит уникальность.

2 голосов
/ 04 июля 2011

Это потому, что у вас нет первичного ключа, а сервер не знает, какую строку удалить.Очистите таблицу (DELETE * FROM dbo.Patient) и создайте новый столбец Id в качестве первичного ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...