mysql - 创建表时外键约束格式不正确

标签 mysql sql phpmyadmin

我有两个 SQL 查询,当我编写第二个查询时,它会抛出一个 SQL 错误,例如“外键约束格式不正确”。我不知道,第一个表有带主键的 ID。

CREATE TABLE clients(
    id_client INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(32),
    surname VARCHAR(32),
    dni VARCHAR(32),
    address VARCHAR(32),
    type CHAR
)

另一个:

CREATE TABLE clients_vehicles(
    id_client_vehicle INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    license_plate VARCHAR(32),
    num_chasis VARCHAR(32),
    color VARCHAR(32),
    brand VARCHAR(32),
    model VARCHAR(32),
    model_version VARCHAR(32),
    fuel_type CHAR,
    km INT,
    cv INT,
    type CHAR,
    id_client INT NOT NULL,
    FOREIGN KEY (id_client) REFERENCES clients(id_client)
)

最佳答案

clients_vehicles.id_clientINT,而 clients.id_clientUNSIGNED INT。存在类型不匹配。

UNSIGNED INT更改为INT,它将起作用

关于mysql - 创建表时外键约束格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54205215/

相关文章:

sql - SQL 输出子句是否可以返回未插入的列?

使用 mysql 控制台时出现 mysql 错误

php - 自动将 SQL 表内容发送到电子邮件地址

mysql - 即使关联表中没有记录,也从表中获取所有记录

mysql - 选择 @var 始终为 null

php - 2 个具有相同 id 的表

php - Mysqli 查询在 phpmyadmin 中工作但不在脚本中

php - 为什么我收到 'mysql_num_rows() expects parameter 1 to be resource, string given' 这个警告?

mysql - 计数语句不起作用

sql - 计算按其他字段分组的时间戳之间的平均差异?