尝试创建此MySQL表时出错。什么不对?

时间:2014-12-10 13:57:56

标签: mysql

下图显示了我遇到的错误。我做错了什么?

http://tinypic.com/r/2vabf3c/8

当我尝试通过命令行将以下内容添加到新表到mysql数据库时,我得到了图像中显示的以下错误。

CREATE TABLE songs (
my_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
analysis_sample_rate FLOAT NOT NULL,
artist_7digitalid INT NOT NULL,
artist_familiarity FLOAT NOT NULL,
artist_hotttnesss FLOAT NOT NULL,
artist_id VARCHAR(30) NOT NULL,
artist_latitude FLOAT NOT NULL,
artist_location VARCHAR(30) NOT NULL,
artist_longitude FLOAT NOT NULL,
artist_mbid VARCHAR(30) NOT NULL,
artist_name VARCHAR(30) NOT NULL,
artist_playmeid INT NOT NULL,
audio_md5 VARCHAR(30) NOT NULL,
danceability FLOAT NOT NULL,
duration FLOAT NOT NULL,
end_of_fade_in FLOAT NOT NULL,
energy FLOAT NOT NULL,
key_of_song INT NOT NULL,
key_confidence FLOAT NOT NULL,
loudness FLOAT NOT NULL,
mode INT NOT NULL,
mode_confidence FLOAT NOT NULL,
album_name VARCHAR(30) NOT NULL,
release_7digitalid INT NOT NULL,
song_hotttnesss FLOAT NOT NULL,
song_id VARCHAR(30) NOT NULL,
tempo FLOAT NOT NULL,
time_signature INT NOT NULL,
time_signature_confidence FLOAT NOT NULL,
title VARCHAR(30) NOT NULL,
track_id VARCHAR(30) NOT NULL,
track_7digitalid INT NOT NULL,
year INT NOT NULL);

我已经更正了密钥和请求的使用情况但是我仍然收到错误。

http://tinypic.com/r/2akl6q8/8

3 个答案:

答案 0 :(得分:0)

你不能使用" key"列名,因为它是一个保留字。

答案 1 :(得分:0)

key是MySQL中的reserved word

然而,你仍然可以使用它,但你必须使用反引号来逃避它,如下所示:

...
`key` INT NOT NULL,
...

答案 2 :(得分:-1)

尝试更改模式的参数名称。可能,mode是保留关键字。