您好我很奇怪,为什么我得到一个错误不能添加或更新子行:外键约束失败
ERROR 1452(23000):不能添加或更新子行,外键 约束失败(
exams
。entries
,约束entries_ibfk_2
外键(student_id
)参考文献students
(student_id
))
任何帮助将appriatiated!
下面是我认为是相关的,我有这个问题的脚本,
首先我做了这个表项,并且一切都很好
CREATE TABLE entries(
subject_id INT UNSIGNED NOT NULL,
subject_name VARCHAR(60) NOT NULL,
level_of_entry VARCHAR(60) NOT NULL,
exam_board VARCHAR(60) NOT NULL,
student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
date_of_exam DATETIME NOT NULL,
PRIMARY KEY (date_of_exam),
FOREIGN KEY (subject_id)
REFERENCES subjects(subject_id),
FOREIGN KEY (student_id)
REFERENCES students(student_id)
然后我试图插入数据和我得到了错误。
INSERT INTO entries (subject_id,subject_name, level_of_entry, exam_board,date_of_exam)
VALUE ('1','chemistry','as','ocr','2017-05-05 12:00:00'),
('2','biology','gcse','aqa','2017-05-05 12:00:01'),
('3','music','gcse','edexcel','2017-05-05 12:00:02'),
('4','english','a','ocr','2017-05-05 12:00:03'),
('5','physics','a','aqa','2017-05-05 12:00:04'),
('6','maths','gcse','aqa','2017-05-05 12:00:05'),
('7','computing','gcse','aqa','2017-05-05 12:00:06'),
('8','physical_education','gcse','aqa','2017-05-05 12:00:07'),
('9','design_and_technology','gcse','aqa','2017-05-05 12:00:08'),
('10','french','gcse','aqa','2017-05-05 12:00:09');
它建议在类似这样以确保您的父表具有相同的价值观,但它和它的制作知道意义,我的其他问题。 这是父母的脚本。
CREATE TABLE IF NOT EXISTS students(
student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR(20) NOT NULL,
middle_name VARCHAR(20) NOT NULL,
last_name VARCHAR(40) NOT NULL,
email VARCHAR(60) NOT NULL,
password CHAR(40) NOT NULL,
reg_date DATETIME NOT NULL,
PRIMARY KEY (student_id) ,
UNIQUE (email));
这是另一个父脚本,但我没有问题。
CREATE TABLE IF NOT EXISTS subjects(
subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
subject_name VARCHAR(60) NOT NULL,
level_of_entry VARCHAR(60) NOT NULL,
exam_board VARCHAR(60) NOT NULL,
PRIMARY KEY (subject_id) ,
UNIQUE (subject_id));
如果有人能帮助,我会非常感激!
mysql或sql-server? – techspider
你的'insert'语句中的'student_id'在哪里?你没有插入一个被定义为'not null'的值 – techspider
我看到你在'entries'表中将它保持为Auto Increment;一个外键永远不会有自动递增值;这只能在你的“学生”中定义。从“条目”表中删除自动增量 – techspider