在MYSQL中创建新表时,语法出现错误1064(42000)



我是MYSQL的新手,我正在处理一个多对多表,当我试图创建该表时,我得到了以下错误。。。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank INTEGER,
year INTEGER,
description TEXT,
PRIMARY KEY(position_id),
' at line 4

创建调用是

CREATE TABLE Position (
position_id INTEGER NOT NULL AUTO_INCREMENT,
profile_id INTEGER,
rank INTEGER,
year INTEGER,
description TEXT,
PRIMARY KEY(position_id),
CONSTRAINT position_ibfk_1
FOREIGN KEY (profile_id)
REFERENCES Profile (profile_id)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

一切看起来都很干净,所以我不确定为什么我会得到这个错误

根据p.Salmon的说法,这是因为等级的名称。在查看了dev.mysql.com/doc/refman/8.0/en/keywords.html后,它刚刚将rank更改为rank,并起到了作用。

最新更新