2012-12-18 2 views
1

comment définir une colonne particulière comme clé primaire avec auto-incrementation dans mysql.am en utilisant alter statement. mais je reçois une erreur quand j'exécute l'instruction alter dans mysql.ajouter une clé primaire avec auto-incrémentation dans mysql

alter statement 
--------------- 

ALTER TABLE tbl_travelplan add COLUMN TRREQNO id INT(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);  
+0

quel est le message d'erreur? –

+0

@sashikant Code d'erreur: 1064. Vous avez une erreur dans votre syntaxe SQL; consultez le manuel correspondant à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'id INT (11) NON NULL AUTO_INCREMENT, ADD PRIMARY KEY (id)' à la ligne 1 – vps

+0

Demander de l'aide mais ne pas fournir l'erreur, les erreurs ne sont généralement pas nécessaires. –

Répondre

2

Je pense que le vrai problème est l'espace entre TRREQNO et id dans votre requête. Essayez la requête que j'ai placé au-dessous:

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL primary KEY AUTO_INCREMENT; 
+0

La clé primaire existe déjà –

+0

Vous voulez dire que vous faites face au même problème que vous avez mentionné dans votre commentaire? –

3

Vous devez DROP LA CLÉ PRIMAIRE PREMIER: Try this ::

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL AUTO_INCREMENT, DROP PRIMARY KEY,PRIMARY KEY;  

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY;  
+4

Uhm, wtf? Pourquoi cette réponse est-elle acceptée et pourquoi a-t-elle reçu des upvotes? Cela ne devrait même pas marcher? – fancyPants

0

Vous devez supprimer l'index existant en utilisant d'abord

DROP_INDEX [your_existing_index] ON tbl_travelplan 
-1

Je pense dans ce tableau déjà ayant la clé primaire. Donc, seulement ce genre d'erreur est venu. Veuillez supprimer la clé primaire et lancer votre requête.

S'il vous plaît exécuter cette requête

ALTER TABLE `table_name` add TRREQNO id INT(11) NOT NULL AUTO_INCREMENT DROP PRIMARY KEY , 
ADD PRIMARY KEY (`id`) 
0

Vous pouvez utiliser cette requête

alter table tbl_travelplan 
    add TRREQNO_id int(11) NOT NULL AUTO_INCREMET PRIMARY KEY 
Questions connexes