如果我有以下数据库
CREATE TABLE `my_table` (
`year` text,
`event` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `my_table` VALUES ('2011', 'john');
INSERT INTO `my_table` VALUES ('2011', 'dave');
INSERT INTO `my_table` VALUES ('2010', 'hany');
我的问题是如何添加id
auto_increment
以便它可以
INSERT INTO `my_table` VALUES (1, '2011', 'john');
INSERT INTO `my_table` VALUES (2, '2011', 'dave');
INSERT INTO `my_table` VALUES (3, '2010', 'hany');
我已经厌倦了但是失败了
$q1 = "ALTER TABLE `my_table` ADD COLUMN `id` int(3) NOT NULL auto_increment";
mysql_query($q1) or die(mysql_error()." at row ".__LINE__);
给了我错误Incorrect table definition
所以如何正确地做到这一点。
答案 0 :(得分:6)
您应首先添加COLUMN
然后INDEX
再添加AUTO_INCREMENT
ALTER TABLE `my_table` ADD COLUMN `id` int(3) NOT NULL;
ALTER TABLE `my_table` ADD PRIMARY KEY (`id`);
ALTER TABLE `my_table` CHANGE `id` `id` INT( 3 ) NOT NULL AUTO_INCREMENT;
OR 2查询:
ALTER TABLE my_table ADD COLUMN `id` int (3) NOT NULL;
ALTER TABLE my_table ADD PRIMARY KEY `id`(`id`), CHANGE `id` `id` INT( 3 ) NOT NULL AUTO_INCREMENT;