【发布时间】:2019-04-29 15:05:13
【问题描述】:
我正在使用 Ubuntu 创建一个数据库,并尝试将外键添加到下表中。这是我的代码。
CREATE TABLE Vehicles (
Vehicle_ID int NOT NULL,
Vehicle_Type VARCHAR(255) NOT NULL,
Model_name VARCHAR(255) NOT NULL,
Engine_Size numeric(2,1) NOT NULL,
Vehicle_Condition VARCHAR(255) NOT NULL,
Price numeric(9,2) NOT NULL,
PRIMARY KEY (Vehicle_ID)
);
CREATE TABLE Models (
Model_ID int NOT NULL,
Manufacturer VARCHAR(255) NOT NULL,
Model_name VARCHAR(255) NOT NULL,
Wheel_Drive_Type VARCHAR(255) NOT NULL,
PRIMARY KEY (Model_ID)
);
每当我运行以下代码时,它都会返回错误“错误 1215 (HY000): 无法添加外键约束”,我不知道为什么 - 特别是因为它们都具有相同的输入类型。
ALTER TABLE Vehicles
ADD FOREIGN KEY (Model_Name) REFERENCES Models(Model_Name);
ERROR 1215 (HY000): 无法添加外键约束
【问题讨论】:
-
嗯,主键是
Model_ID,所以看起来更适合外键引用。
标签: mysql sql database foreign-keys