Ajouter un champ id à ma table

Ajouter un champ id à ma table - PHP - Programmation

Marsh Posté le 09-06-2008 à 19:41:01    

Bonjour.
 
J'ai actuellement un table dans ma bdd avec plus de 30 000 entrées.
 
Je souhaiterais y ajouter un champs id pour que les entrées soit numérotées
 
Donc je rajoute le champs manuellement
je met:
champ: id
type: int
valeur: 6
et je coche primarie key
 
mais j'ai une erreur
 
#1062 - Duplicate entry '0' for key 1  
 
C'est bizare puisque ce champs n'existe pas dans la table puisque je veut le créer justement.
 
Comment je peut faire ? merci

Reply

Marsh Posté le 09-06-2008 à 19:41:01   

Reply

Marsh Posté le 09-06-2008 à 20:13:43    

declare ce champ en autoincrement


---------------

Reply

Marsh Posté le 09-06-2008 à 20:23:09    

donc si je met:
champ: id
type: int
valeur: 6
extra: autoincrement
et je coche primarie key  
 
j'ai cette erreur:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Reply

Marsh Posté le 09-06-2008 à 20:31:23    

T'as la structure de ta table ?

Reply

Marsh Posté le 09-06-2008 à 20:43:18    

la voilà  
 
 
 
CREATE TABLE IF NOT EXISTS `communes` (
  `nom` varchar(35) collate latin1_general_cs NOT NULL,
  `cp` mediumint(5) unsigned NOT NULL default '0',
  `dep` varchar(23) collate latin1_general_cs NOT NULL,
  `latitude` float(11,9) NOT NULL default '0.000000000',
  `longitude` float(11,9) NOT NULL default '0.000000000',
  `hab` mediumint(7) unsigned NOT NULL default '0',
  `pref` tinyint(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;

Reply

Marsh Posté le 09-06-2008 à 20:46:35    

Tu es sur d'avoir bien coché primary key ? Pourquoi tu initialises la valeur de ID à 6 ?

Reply

Marsh Posté le 09-06-2008 à 20:53:05    

pour la valeur 6 je sait pas, c pas grave ca non ?
 
sinon j'ai tout fais comme tu m'as dit:
voir l'image ici   http://img291.imageshack.us/img291 [...] 922ew6.jpg
 
et je clique sur sauvegarder, et ca me fait :
 
 
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Reply

Marsh Posté le 09-06-2008 à 20:53:39    

essaie sans attribuer de valeur.

Reply

Marsh Posté le 09-06-2008 à 20:55:24    

toujours pareil, je vient d'essayer :(

Reply

Marsh Posté le 09-06-2008 à 21:00:01    

Chez moi ca marche avec int, mais aucune entrée, essaie avec bigint ???

Reply

Marsh Posté le 09-06-2008 à 21:00:01   

Reply

Marsh Posté le 09-06-2008 à 21:05:24    

idem;    Je ne comprend rien de rien là ...

Reply

Marsh Posté le 09-06-2008 à 21:07:38    

Essaie modifier la table comme ca :

Code :
  1. CREATE TABLE `communes` (
  2.  `nom` varchar(35) collate latin1_general_cs NOT NULL,
  3.  `cp` mediumint(5) UNSIGNED NOT NULL DEFAULT '0',
  4.  `dep` varchar(23) collate latin1_general_cs NOT NULL,
  5.  `latitude` float(11,9) NOT NULL DEFAULT '0.000000000',
  6.  `longitude` float(11,9) NOT NULL DEFAULT '0.000000000',
  7.  `hab` mediumint(7) UNSIGNED NOT NULL DEFAULT '0',
  8.  `pref` tinyint(1) NOT NULL,
  9.  `id` int(11) NOT NULL AUTO_INCREMENT,
  10.  PRIMARY KEY  (`id`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs AUTO_INCREMENT=1 ;

Reply

Marsh Posté le 09-06-2008 à 21:13:08    

comment je peut modifier ca?   je ne peut pas recreer la table , j'ai plus de 30 000 entrées dans la table   :sweat:

Reply

Marsh Posté le 09-06-2008 à 21:13:55    

Recrée une table avec le script, exporte les données de l'autre et importe les dans la nouvelle table.

Reply

Marsh Posté le 09-06-2008 à 21:20:11    

Allélouia !!!!!!
 
 
Ca a marché avec la dernière solution.   :jap:  
 
Je te remercie.  Bonne soirée et merci  :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed