mysql - 不能添加外键约束,为什么?

标签 mysql

好吧,我在这里真的很沮丧,我似乎无法发现问题。

这就是问题所在,我正在尝试创建表 Vinter 和 Sommar,但是 MYSQL 不允许我这样做,因为“错误代码:1215。无法添加外键约束 ".

代码如下:

CREATE TABLE Stuga(
stugaNr int unsigned AUTO_INCREMENT PRIMARY KEY,
stugaAdress char(60),
nrOfBeds int,
nrOfRooms int
);

DROP TABLE Customer;

CREATE TABLE Customer(
    customerNr int unsigned AUTO_INCREMENT primary key,
    lastName char(30),
    totalPassengers int
);

DROP TABLE Bokning;

CREATE TABLE Bokning(
    orderID int(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    stugaNr int UNSIGNED,
    customerNr int UNSIGNED,
    passengerNr int UNSIGNED,
    datum int,
    FOREIGN KEY (stugaNr) REFERENCES Stuga(stugaNr),
    FOREIGN KEY (customerNr) REFERENCES Customer(customerNr)
);

DROP TABLE Sommar;

CREATE TABLE Sommar(
    orderID int,
    totalPassengers int,
    sNr int primary key,
    benLangd int unsigned,
    huvudOmkrets int unsigned,
    cykelTyp char(30),
    FOREIGN KEY (orderID) REFERENCES Bokning(orderID)
);

DROP TABLE Vinter;

CREATE TABLE Vinter(
    orderID int,
    totalPassengers int,
    vNr int primary key,
    skidLangd int unsigned,
    stavLangd int unsigned,
    hjalm char(20),
    skoStorlek int unsigned,
    FOREIGN KEY (orderID) REFERENCES Bokning(orderID)
);

最佳答案

嗯,我发帖后才看到的。忘记在其他 orderID 上添加“int(6) UNSIGNED ”。

还是谢谢 :D

关于mysql - 不能添加外键约束,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456375/

相关文章:

PHP MySQLi 准备好的语句 - 检查某些内容是否已经存在

mysql - 语法错误或访问冲突 : 1055 'wockhardt_indigo.stock_levels.id' isn't in GROUP BY

php - 下拉菜单填充了准备好的语句

c# - 处理从 CSV 导入的引号

mysql - 在数据库表中分离 ADMIN 和 USERS 条目的最佳方法

php - CodeIgniter,查询 View 中仅显示1条记录

mysql - 正确的数据库操作以获得所需的数据

mysql - 从 innodb 导入到 ndbcluster 时出现问题

mysql - VARCHAR 或 INT 列的性能变化有多大 - MySQL

php - 获取某人选择 php mysql 的 2 个日期之间的记录