Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySQL] ALTER TABLE mal foutu ou c moi ?...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mySQL] ALTER TABLE mal foutu ou c moi ?...

n°211727
Poulou
Posté le 10-09-2002 à 17:10:13  profilanswer
 

Bonjour,
Prenons une table toute simple "test" :

+---------+---------------+------+-----+---------+----------------+
| Field   | Type          | Null | Key | Default | Extra          |
+---------+---------------+------+-----+---------+----------------+
| id      | int(10)       |      | PRI | NULL    | auto_increment |
| texte   | varchar(255)  | YES  |     | NULL    |                |
+---------+---------------+------+-----+---------+----------------+


Mettons que je souhaite modifier mon champ en un tinyint, je lance donc la commande :

ALTER TABLE test MODIFY COLUMN id tinyint(3) unsigned NOT NULL default NULL auto_increment PRIMARY KEY;


et là j'obtiens la magnifique erreur :

ERROR 1068: Multiple primary key defined


Evidemment si j'enlève le PRIMARY KEY, il ne se met pas à brailler... Le pb c'est que c'est un programme automatique qui lance les ALTER TABLE donc ça m'arrangerai de garder le PRIMARY KEY.
Ceci a été testé sur un MySQL 4.0.2 ainsi que 3.23.51. C'est donc une limite du ALTER ? c moi qui m'y prend mal ? c'est MySQL qui fait n'importe quoi, etc... ? ;) Je sais qu'il y a certains utilisateurs émérites de MySQL ici (joce...) donc si je pouvais avoir une réponse ! Merci !

mood
Publicité
Posté le 10-09-2002 à 17:10:13  profilanswer
 

n°212114
Krueger
tout salaire demande dutravail
Posté le 11-09-2002 à 13:10:30  profilanswer
 

Poulou a écrit a écrit :

ALTER TABLE test MODIFY COLUMN id tinyint(3) unsigned NOT NULL default NULL auto_increment PRIMARY KEY;



 
Déjà là il y a contradiction. 'DEFAULT NULL' à virer.
Pour le problème de clé primaire si c'est pour changer il faut d'abord éjecter la précédente:

ALTER TABLE test DROP PRIMARY KEY;


Message édité par Krueger le 11-09-2002 à 13:12:37

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°212196
Poulou
Posté le 11-09-2002 à 14:29:54  profilanswer
 

Effectivement, j'avais pas fait gaffe au "NOT NULL default NULL"... Va falloir que je modifie le prog pour ça !
Pour la clé primaire, c'es quand même étrange qu'il nous dise qu'il y a une double clé primaire alors qu'on ne la touche pas au final vu que c sur le même champ.
J'ai testé le ALTER TABLE test DROP PRIMARY KEY et j'ai droit à l'erreur :  

ERROR 1075: Incorrect table definition; There can only be one auto column and it must be defined as key


Donc pas possible d'enlever la clé primaire et pas possible de modifier le champ en indiquant PRIMARY KEY. Pas très bien foutu tout ça !...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySQL] ALTER TABLE mal foutu ou c moi ?...

 

Sujets relatifs
[MySQL]Créer des comptes avec authorisation sur certaines tables[MySQL] Acces avec des outils a la base super long
Création dynamique d'une table HTML (en JS)[PHP/MySQL] Extraire la dernière valeur d'un champs.
Cherche hebergeur gratuit 100 % mysql[PHP]Erreur accès à une base de donnée Mysql
pb de nbre nul dans table sondageTrouver un numero de ligne dans MySQL
[mysql] aide avec mysqldump !!!!! urgent ![PHP-MySQL] choisir la table par formulaire?
Plus de sujets relatifs à : [mySQL] ALTER TABLE mal foutu ou c moi ?...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR