0

因此,我正在尝试创建这些表,当我根据 carid 使用 JOIN SQL 语句时,机械表能够提取信息。

汽车表

车辆识别号 制作 颜色

力学表

机械师 标题 当前车
CREATE TABLE cars(
carid INT (100) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
VIN INT (255) NOT NULL,
Make VARCHAR (100) NOT NULL,
Year Year(4) NOT NULL,
Color VARCHAR(10)
);
Create Table mechanic(
mechanicid INT (100) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(50) NOT NULL,
lastname VARCHAR(50) NOT NULL,
title VARCHAR(50) NOT NULL,
carid INT (100) NULL,
FOREIGN KEY(carid) REFERENCES cars(carid)
);

但我得到这个错误

错误代码:3780。在外键约束“mechanic_ibfk_1”中引用列“carid”和引用列“carid”不兼容。

4

1 回答 1

1

INT UNSIGNED 与 INT 类型不同。

小提琴

请注意,整数类型的显示宽度实际上并没有做任何事情,现在已被弃用。无论如何也INT (255)没有多大意义。

于 2021-10-20T23:29:20.537 回答