2013-11-25 5 views
1

Я пытаюсь вставить запись в базу данных из winform, она отлично работает и вставляет первые 5 записей без ошибок, но когда я пытаюсь вставить следующую запись, она дает мне ошибка нарушение PRIMARY KEY ....!«Нарушение ограничения PRIMARY KEY» при вставке в базу данных

стол

enter image description here Но в таблице базы данных не существует запись нет 6. там нет триггера адъюнкт к этой таблице. есть нет отношения F-Key этой таблицы. Я попробовал его с сервера sql, чтобы вставить его, но снова ошибка. В чем причина этого?

+0

Вы можете показать свои столы? –

+0

Проверьте PK 6-й записи, которую вы пытаетесь вставить. похоже, что 6-я запись использует одно из существующих значений PK. – Kurubaran

+0

@accessdenied Я использую инструкцию SELECT для проверки записи или нет. Но записи нет. – buddy

ответ

2

В ваших данных определенно что-то не так. Убедитесь, что у вас нет «дублированного ПК».

И, на мой взгляд, ПК должен генерироваться автоматически, если у вас нет особых требований.

+0

@ Colt первичный ключ автогенерируется – buddy

0

Вы можете исправить эту ошибку, не пытаясь вставить строки с дублирующимся первичным ключом.

0

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

0

Первичный ключ должен быть вставлен в таблицу сам по себе, так как это также снижает вероятность ошибки кода, что иногда мы пытаемся вставить тот же ключ снова и снова (что не является свойством ПК).

Кроме того, в базе данных:

table> design> Primary Key> Properties>Identity specification> Yes 

Это позволит само введение ключа, также можно указать начальный индекс.

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