Не удалось добавить значение столбца - PullRequest
1 голос
/ 11 мая 2010

У меня есть проект, который содержит 4 таблицы среди этих столбцов таблицы сеансов. Я не могу добавить vaue ,, эта таблица содержит

три внешних ключа из двух таблиц (в которых одна таблица имеет два внешних ключа здесь) я добавил значения здесь ... Любой есть какие-либо идеи по этому поводу .. На самом деле мое намерение состоит в том, чтобы удалить ошибку "оператор вставки конфликтовал с SQL-сервером ограничения внешнего ключа"

Таблица Расписание содержит номер сеанса в качестве первичного ключа, он используется в качестве внешнего ключа в таблице вопросов и ответов. Таблица вопросов и ответов содержит номер вопроса в качестве первичного ключа. Таблица Employee содержит Employeeid в качестве первичного ключа, который используется в качестве внешнего ключа в таблице вопросов и ответов два раза для внешнего просмотра. ключ, как в таблице расписания. Таблица Тема содержит Topicid в качестве первичного ключа, который используется для внешнего ключа в таблице расписания и в таблице вопросов и ответов. Здесь моя проблема, я не могу добавить значения для столбца сеанса в таблице расписания (который является первичным ключом) во-вторых, всякий раз, когда я вставляю значения в таблицу вопросов и ответов, я получаю ошибку, как это Сообщение об ошибке: оператор INSERT конфликтует с ограничением FOREIGN KEY «FK_QandA_Schedule». Конфликт произошел в базе данных «second», таблице «dbo.Schedule», столбце «Session_No». Заявление было прекращено.

Ответы [ 3 ]

1 голос
/ 11 мая 2010

Ошибка означает, что она говорит. То есть у него нет столбца по этому идентификатору в родительской таблице.

Чтобы быть более точным, пожалуйста, покажите нам таблицы и оператор INSERT.

ОБНОВЛЕНИЕ: Если я правильно понял:

1) Вы пытаетесь вставить строку в таблицу Расписание , верно?

Если это так, вам нужно иметь Employeeid в таблице Employee и Topicid в таблице Topic , что вы пытаясь вставить. Я полагаю, у вас нет действительного значения внешнего ключа Q & A, согласно сообщению об ошибке. Это означает, что значение внешнего ключа Q & A, которое вы пытаетесь добавить в свой оператор INSERT, должно существовать в таблице Q & A.

2) Вы пытаетесь вставить строку в таблицу Q & A ?

Для этой таблицы вам нужно иметь действительные Employeeid (2 из них?), Topicid и Session_number .

P.S. Но я не могу сказать, в чем твоя проблема, если ты не показываешь нам операторы INSERT.

1 голос
/ 11 мая 2010

оператор вставки конфликтует с ограничение внешнего ключа sql server

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

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

0 голосов
/ 14 мая 2010

Я использовал правило каскада. Он временно работает, но я не знаю последствий.

...