任何人都可以帮助解决这个错误,当我运行我的代码它出现错误1005无法创建表我的代码看起来这样任何人都可以指出这个错误的来源我使用codio mysql如果有帮助< / p>
CREATE TABLE IF NOT EXISTS entries (
entries_id INT NOT NULL AUTO_INCREMENT,
students_id INT UNSIGNED NOT NULL,
Date_of_exam DATETIME NOT NULL,
subjects_id INT UNSIGNED NOT NULL,
PRIMARY KEY (entries_id),
FOREIGN KEY (students_id) REFERENCES students(students_id),
FOREIGN KEY (subjects_id) REFERENCES subjects(subjects_id));
这是错误 MySQL的&GT;消息来源7 错误1005(HY000):无法创建表格&#39;考试。条目&#39; (错误:150)
答案 0 :(得分:0)
此错误与外键有关。检查以下项目:
注意:您可以在查询时禁用检查外键。确定在查询后启用此选项。
SET FOREIGN_KEY_CHECKS=0;
CREATE TABLE IF NOT EXISTS entries (
entries_id INT NOT NULL AUTO_INCREMENT,
students_id INT UNSIGNED NOT NULL,
Date_of_exam DATETIME NOT NULL,
subjects_id INT UNSIGNED NOT NULL,
PRIMARY KEY (entries_id),
FOREIGN KEY (students_id) REFERENCES students(students_id),
FOREIGN KEY (subjects_id) REFERENCES subjects(subjects_id)
);
SET FOREIGN_KEY_CHECKS=1;
答案 1 :(得分:0)
错误本身与外键有关(因为删除它们会创建没有错误的表)。 主要可能的原因:
我可以看到你桌面上的主键是INT,假设你使用INT作为主键,students_id是INT UNSIGNED,可能是你错误的原因。