首页 > 解决方案 > 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;

我遵循了我们的教学方式,但无法发现问题。

任何帮助表示赞赏

标签: mysql

解决方案


在表中,person您已定义address_IDNOT NULL,但是
当您定义 时,FOREIGN KEY您设置:

ON DELETE SET NULL

NOT NULL这与定义相矛盾。


推荐阅读