Я получаю следующую ошибку. Вы могли помочь мне?
Сообщение 547, уровень 16, состояние 0, строка 1
Оператор INSERT конфликтовал с ограничением FOREIGN KEY "FK_Sup_Item_Sup_Item_Cat". Конфликт произошел в базе данных "dev_bo", таблица "dbo. Sup_Item_Cat". Оператор был завершен.
Код:
insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id,
status_code, last_modified_user_id, last_modified_timestamp, client_id)
values (10162425, 10, 'jaiso', '123123',
'a', '12', '2010-12-12', '1062425')
Последний столбец client_id
вызывает ошибку. Я пытался поместить значение, которое уже существует в dbo.Sup_Item_Cat
в столбец, соответствуя sup_item.. но никакая радость :-(
В вашей таблице dbo.Sup_Item_Cat
есть ссылка внешнего ключа на другую таблицу. Принцип работы FK заключается в том, что в этом столбце не может быть значения, которое не находится в столбце первичного ключа ссылающейся таблицы.
Если у вас есть SQL Server Management Studio, откройте ее и sp_help
'dbo.Sup_Item_Cat
'. Посмотрите, на каком столбце находится FK, и на какой столбец какой таблицы он ссылается. Вы вставляете плохие данные.
Дайте мне знать, если вам нужно что-то объяснить лучше!
Вам понадобится опубликовать свое заявление для получения дополнительных разъяснений. Но ...
Эта ошибка означает, что таблица, в которую вы вставляете данные, имеет отношение внешнего ключа к другой таблице. Прежде чем данные могут быть вставлены, значение в поле внешнего ключа должно сначала существовать в другой таблице.
Насколько я могу судить, проблема не в client_id. Похоже, проблема связана с 4-м столбцом sup_item_cat_id
Я бы запустил
sp_helpconstraint sup_item
и обратил внимание на столбец constraint_keys, возвращаемый для внешнего ключа FK_Sup_Item_Sup_Item_Cat, чтобы подтвердить, какой столбец является реальной проблемой, но я почти уверен, что это это не тот, который вы пытаетесь исправить. К тому же «123123» тоже выглядит подозрительно.
Вы пытаетесь вставить запись со значением в колонке внешнего ключа, которое не существует во внешней таблице.
Например: Если у вас есть таблицы Books и Authors, где Books имеет ограничение внешнего ключа на таблицу Authors, и вы пытаетесь вставить запись книги, для которой не существует записи автора.
Это означает именно то, что написано. Вы пытаетесь вставить значение в столбец с ограничением FK, которое не соответствует никаким значениям в таблице поиска.