我正在尝试创建一个具有自动递增的关键字段的临时表。但我一直遇到语法错误。
以下是我正在尝试的内容:
CREATE TEMPORARY TABLE
RETURN_ARTISTS
(KEY INT(11) NOT NULL AUTO_INCREMENT,
ARTIST_1_KEY INT(11),
ARTIST_2_KEY INT(11));
INSERT INTO RETURN_ARTISTS (1,1);
DELETE TABLE RETURN_ARTISTS;
这是我一直得到的错误:
Err] 1064 - 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 'INT(11) NOT NULL AUTO_INCREMENT,
ARTIST_1_KEY INT(11),
ARTIST_2_KEY INT(' at line 3
答案 0 :(得分:5)
首先,key
是一个保留字,用`
其次,使用auto_increment列时,必须将该列定义为键。
CREATE TEMPORARY TABLE
`RETURN_ARTISTS`
(`KEY` INT(11) NOT NULL AUTO_INCREMENT,
ARTIST_1_KEY INT(11),
ARTIST_2_KEY INT(11),
KEY (`KEY`));
答案 1 :(得分:1)
key
是一个保留字,所以你必须逃脱它:
(`KEY` INT(11) NOT NULL AUTO_INCREMENT,
^---^--- escapes
或者,最好使用不同的字段名称。