2012-05-06 4 views
3

내가AUTO_INCREMENT 삽입하는 방법

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 오류가 발생합니다. 어떻게 처리합니까? .

답변

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; 

또는 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; 
+0

lorga 덕분에 많은 그것은 정말 나에게 많은 시간을 절약 할 완벽한 작품 . –