php - 如何插入auto_increment

标签 php mysql

如果我有以下数据库

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');

我的问题是如何添加idauto_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 所以如何正确地做。

最佳答案

您应该先添加 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;

或 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;

关于php - 如何插入auto_increment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10471421/

相关文章:

php - 需要一个解释如何使用 PHPUnit 的站点

PHP - 使用下拉列表更改站点主题

mysql - 如何让 NetBeans 7.4、Ruby 和 MySQL 一起运行(在 Windows 上)

MySQL 从子查询更新值

mysql - 根据不同的条件选择查询

php - SQLSTATE[HY093] : Invalid parameter number: parameter was not defined : PHP PDO Object

php - 实时聊天、消息处理 - Socket.io、PHP、MySQL、Apache

php - 将灯切换到 N 的算法是什么?

mysql - 与 JOIN 相关的 SQL 错误 1175

mysql - 选择多列的计数,但仅在列值大于 0 时才包括计数