【问题标题】:why would the foreign keys giving me an error when the data types match [duplicate]为什么当数据类型匹配时外键会给我一个错误[重复]
【发布时间】:2021-12-07 18:07:30
【问题描述】:

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

汽车表

carid VIN Make YEAR Color

力学表

mechanicid firstname lastname title carid currentcar
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”不兼容。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    INT UNSIGNED 与 INT 类型不同。

    fiddle

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多