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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  impossible de mettre DEFAULT avec AUTO_INCREMENT !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

impossible de mettre DEFAULT avec AUTO_INCREMENT !

n°1534539
yerem1
Posté le 27-03-2007 à 18:32:16  profilanswer
 

Bonjour à tous,
 
J'ai un petit problème concernant la création d'une table. Voici ma requête :
 
CREATE TABLE calepin(
cal_id int( 10 ) unsigned DEFAULT '0' NOT NULL AUTO_INCREMENT,
cal_societe varchar( 50 ) NOT NULL ,
cal_nom varchar( 50 ) NOT NULL ,
cal_prenom varchar( 30 ) NOT NULL ,
...
);
 
et on me répond :
#1067 - Invalid default value for 'cal_id'  
 
Pourtant cette requête semble correcte niveau syntaxe, je soupçonne un problème de version de mysql (je suis en mysql 5.0.19).
(la requête passe en enlevant la valeur par défaut).
 
Qu'en pensez vous? Comment quelles versions de myql supporte ce script? Comment le modifiez pour qu'il passe en 5.0 ?
 
merci de votre aide!

mood
Publicité
Posté le 27-03-2007 à 18:32:16  profilanswer
 

n°1534580
olivthill
Posté le 27-03-2007 à 21:07:19  profilanswer
 

Bonjour,
 
Pourquoi donner une valeur par défaut à une valeur qui va toujours s'incrémenter ?
La valeur par défaut n'est pas la valeur initiale. C'est la valeur qui est mise lors d'une insertion, si la colonne n'est pas précisée.
Donner une valeur par défaut à un champ auto_increment revient à donner deux ordres contradictoires : le premier est de s'autoincrémenter, le second est de ne pas s'autoincrémenter.
La solution consiste à ne pas donnr de valeur par défaut  un champ qui s'auto_incrémente, ou de ne pas choisir ce type de champ.

n°1534850
yerem1
Posté le 28-03-2007 à 11:24:50  profilanswer
 

Oui c'est vrai que la solution consistant à ne pas donner de valeur par défaut est satisfaisante.
Pourtant, cette requête fait partie d'un petit programme en php qui date un peu (timecop), et cela semble marcher pour les anciennes versions... mysql est il plus stricte sur la syntaxe au fil des versions?

n°1535036
flo850
moi je
Posté le 28-03-2007 à 14:11:45  profilanswer
 

oui , myslqu a evolué  legerement dans sa syntaxe au fil des versions  
 
maisi de toute maniere, comme l'a dis olivthill, c'est pas interessant de mettre uen valeur apr defaut a un champ qui s'auto incremente
 
a la limite, tu peux lui mettre une valeur de base

n°1535406
yerem1
Posté le 28-03-2007 à 17:53:33  profilanswer
 

avec :  
cal_id int( 10 ) unsigned NOT NULL AUTO_INCREMENT
 
si l'on ne précise rien la valeur de base (pour la 1ere entrée) est 0 ou 1 ?
 
merci à vous

n°1535419
flo850
moi je
Posté le 28-03-2007 à 18:30:44  profilanswer
 

1


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

  impossible de mettre DEFAULT avec AUTO_INCREMENT !

 

Sujets relatifs
Comment mettre en place un menu pareil ?[newbie] Où mettre toutes ses fonctions ?
[Résolu] Impossible d'installer PHP-MySQL sur mon microCalcul Impossible pour Moi !! [Resolu]
[hibernate] auto create & MEDIUMTEXTMySQL et default value = chaine vide
déplacer régulièrement et auto les copies de secours wordImpossible de compiler des shaders en cg! [RESOLU]
[HTML] Peut-on afficher une image dans une liste de choix ?Mettre des espaces entre les chiffres tous les 1000
Plus de sujets relatifs à : impossible de mettre DEFAULT avec AUTO_INCREMENT !


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