我是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
,并起到了作用。