MYSQL外键格式错误

时间:2019-06-06 09:47:36

标签: mysql

出现一个错误,其中我的第一个外键约束格式不正确。我正在等待听到我的讲师是否可以发现问题,但我想在这里提问

我的SQL查询如下

CREATE DATABASE rugby;
USE rugby;

CREATE TABLE address(
address_ID INT AUTO_INCREMENT NOT NULL,
address_name VARCHAR(50) NOT NULL,
PRIMARY KEY (address_ID)
) ENGINE=INNODB;

CREATE TABLE team(
team_ID INT AUTO_INCREMENT NOT NULL,
team_Name VARCHAR(25) NOT NULL,
team_Year INT NOT NULL,
PRIMARY KEY(team_ID)
) ENGINE=INNODB;

CREATE TABLE person(
person_ID INT AUTO_INCREMENT NOT NULL,
name VARCHAR(30) NOT NULL,
phone INT NOT NULL,
address_ID INT NOT NULL,
email VARCHAR(50),
photo BLOB,
PRIMARY KEY(person_ID),
FOREIGN KEY(address_ID) REFERENCES address(address_ID) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=INNODB;

我遵循了我们的教学方法,但是找不到问题所在。

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

在表person中,您已将address_ID定义为NOT NULL,但是
当您定义FOREIGN KEY时设置:

ON DELETE SET NULL

NOT NULL的定义相矛盾。