创建表错误1064时添加索引

时间:2013-11-19 14:33:20

标签: indexing

嗨,大家好我刚接触mysql并需要一些帮助。

我收到以下错误:

ERROR 1064 (42000) at line 5: 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 'ADD INDEX idx_latitude (latitude)
ADD INDEX idx_longitude (longitude)
ADD INDEX ' at line 21

MY CODE我尝试创建这些索引:

CREATE TABLE allCountries ( 
geonameid int(15) PRIMARY KEY, 
name varchar(200), 
asciiname varchar(200), 
alternatenames varchar(4000), 
latitude decimal(11,7), 
longitude decimal(11,7), 
fclass char(1), 
fcode varchar(10), 
country varchar(2), 
cc2 varchar(60), 
admin1 varchar(20), 
admin2 varchar(80), 
admin3 varchar(20), 
admin4 varchar(20), 
population int(15), 
elevation int(15) NULL, 
gtopo30 int(15), 
timezone varchar(40), 
moddate date 
ADD INDEX idx_latitude (latitude),
ADD INDEX idx_longitude (longitude),
ADD INDEX idx_fclass (fclass),
) CHARACTER SET utf8; 

有人能指出我正确的方向吗?

我试过在括号之后使用;也没有帮助:(

1 个答案:

答案 0 :(得分:1)

你错过了moddate之后的逗号,并且不确定你是否需要ADD .....

...
elevation INT(15) NULL, 
gtopo30 INT(15), 
timezone VARCHAR(40), 
moddate DATE, 
INDEX (latitude),
INDEX (longitude),
INDEX (fclass)

或者您可以在创建表后在单独的语句中创建索引,这可能会更容易。

CREATE INDEX id_latitude ON allCountries(latitude)