无法在mysql表中创建索引

时间:2014-01-15 14:26:58

标签: mysql sql mysqli mysql-error-1064

我想使用此查询创建索引:

CREATE  INDEX `PRIMARY` ON `elements` (`id`) USING BTREE

或类似的东西,我尝试了几个问题:

1. CREATE  INDEX `PRIMARY` ON `elements` (`id`) USING BTREE
2. CREATE  INDEX 'PRIMARY' ON `elements` (`id`) USING BTREE
3. CREATE  INDEX `PRIMARY` ON 'elements' (`id`) USING BTREE
4. CREATE  INDEX PRIMARY ON elements (`id`) USING BTREE
5. CREATE  INDEX PRIMARY ON elements (id) USING BTREE

我在没有“使用BTREE”的情况下尝试了上述5个查询。但我总是得到这样的信息:

#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 'PRIMARY ON 'elements' (`id`) USING BTREE' at line 1

这个有效:

CREATE INDEX test ON elements (brandid); 

我无法真正发现两者之间的巨大差异。 为什么我不能创建名为PRIMARY的索引?

1 个答案:

答案 0 :(得分:2)

PhpMyAdmin使用如下语法创建PRIMARY KEY(实际上是唯一索引):

ALTER TABLE `elements` ADD PRIMARY KEY(id)

每张桌子只能有一个PRIMARY KEY。