我在理解为什么我为以下代码段获取MySQL代码错误150时遇到了一些麻烦:
-- Exercise Categories
CREATE TABLE Exercise_cat
(
ec_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25),
PRIMARY KEY (ec_id)
);
-- This inserts fine
-- Exercise Descriptions
CREATE TABLE Exercise_desc
(
e_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25),
ec_id INT NOT NULL,
cal_per_hour INT NOT NULL,
PRIMARY KEY (e_id),
FOREIGN KEY (ec_id) REFERENCES Excercise_cat(ec_id)
);
-- ERROR (foreign key constraint not formed)
我没有留下列名,例如[1] [2] 我有分号,正如MySQL想要的那样。
如何修复外键以便创建表格?
答案 0 :(得分:1)
您的意思是Exercise_cat
而不是Excercise_cat
CREATE TABLE Exercise_desc
(
e_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25),
ec_id INT NOT NULL,
cal_per_hour INT NOT NULL,
PRIMARY KEY (e_id),
FOREIGN KEY (ec_id) REFERENCES Exercise_cat(ec_id)
);
答案 1 :(得分:0)
您引用的表 Excercise_cat
不存在。但 Exercise_cat存在。
所以应该纠正以下行。
FOREIGN KEY (ec_id) REFERENCES Excercise_cat(ec_id)
^
|
+-- Remove this extra 'c'