Оператор INSERT конфликтует с ограничением FOREIGN KEY (родительская запись уже существует)

Я получаю сообщение об ошибке «Инструкция INSERT конфликтует с ограничением FOREIGN KEY…». Я искал похожие проблемы, но не могу найти ту, которая решает мою. Решение, которое я видел, заключается в том, что у меня нет записи в таблице, на которую ссылаются. (у меня есть), но все равно не работает.

У меня есть таблица с именем Parent и ParentFeedback, которая ссылается на таблицу Parent.

Я уже создал 2 записи в Parent. Теперь, когда я пытаюсь вставить запись ParentFeedback, используя мой оператор Insert

Insert into ParentFeedback 
Values(@parentid, @feed, @date , @status)

Я получаю сообщение об ошибке (показано в заголовке).

Я уже убедился, что родительский идентификатор, который я помещаю, существует, и я могу взять его и поместить в @parentid.

Но почему я все еще получаю эту ошибку?

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

просто найдите имя asdasd и фамилию asdasd, затем оставьте отзыв и отправьте. asdasd — это существующая запись в родительской таблице с идентификатором 1, который я указал для родительского идентификатора в своей вставке.


person Aaron Palma Gil    schedule 06.10.2014    source источник
comment
Что ж, запись, на которую вы ссылаетесь, не существует. Либо вставка не удалась без вашего ведома, либо вы передаете ее неправильно. Это сообщение об ошибке является надежным.   -  person usr    schedule 06.10.2014
comment
правильно вы имеете в виду ненадежный?. в ASP.Net я передаю дату в виде строки, но в MSSQL столбец даты имеет тип данных даты. Я думаю, что это является причиной проблемы? Пожалуйста, порекомендуйте.   -  person Aaron Palma Gil    schedule 06.10.2014
comment
Сообщение надежное. Это вызвано именно тем, что он говорит. Родительская запись не существует. Не уверен, что вы имеете в виду в отношении столбца даты.   -  person usr    schedule 06.10.2014
comment
Кстати, если вы следовали моему сообщению выше, поиск asdasd подтвердит, что запись существует, он даже покажет идентификатор записи asdasd в родительской таблице. затем идентификатор будет передан методу, и он будет использоваться в этом операторе Insert.   -  person Aaron Palma Gil    schedule 06.10.2014
comment
Еще одна странная вещь заключается в том, что я добавляю запись ParentFeedback в MSSQL, и это прекрасно, но тот же оператор вставки, помещенный в ASP.NET, дает мне ошибку. что?   -  person Aaron Palma Gil    schedule 06.10.2014
comment
Похоже, ваш asp не передает все значения правильно, я бы попытался повторить ваш запрос из asp, а затем попытаться скопировать и вставить его в sql, чтобы увидеть, есть ли какие-либо ошибки. Переменные даты и времени могут иногда вызывать проблемы, если они не обрабатываются должным образом.   -  person boomoto    schedule 06.10.2014
comment
Да, у меня есть большое ощущение, что это время даты, которое вызывает проблемы, потому что я передаю его как строку и его тип данных даты в sqlserver   -  person Aaron Palma Gil    schedule 07.10.2014
comment
Я вставляю дату и время как 2014-06-23. уже в формате даты тип даты в sql.   -  person Aaron Palma Gil    schedule 07.10.2014


Ответы (1)


Привет, ребята, мне очень жаль вас беспокоить, я думал, что правильно передаю свой родительский идентификатор, но оказалось, что он не дает мне идентификатор, и его всегда 0.

person Aaron Palma Gil    schedule 07.10.2014