IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils MySQL Discussion :

mysql problème primary key en auto_increment


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut mysql problème primary key en auto_increment
    Bonjour à tous,

    Voila j'ai un problème, tout dabord je possède une version de mysql du pack easyphp version "MySQL 4.1.9-max" et une autre mysql server "MySQL 5.0.45-community-nt", je tient à préciser qu'il ne s'agit surement pas d'un bug car le problème apparait également sur la version 5.0.25 de mysql server.

    Je crée une table sur la version "MySQL 4.1.9-max" depuis phpmyadmin ou depuis une console windows comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create table USERS
    (
       ID_USER              int(11) NOT NULL AUTO_INCREMENT,
       FIRST_NAME           varchar(254) default null,
       primary key (ID_USER)
    );
    La table est crée avec succès et lorsque je vérifie la structure voici ce qui apparait :

    CHAMP : ID_USER
    TYPE : int(11)
    INTERCLASSEMENT :
    ATTRIBUT :
    NULL : Non
    DEFAULT :
    EXTRA : auto_increment

    ici tout marche parfaitement avec la version "MySQL 4.1.9-max" le champ NULL est bien set sur NON, normal puisqu'il s'agit d'une clé primaire et que j'avais précisé NOT NULL sur le champ lors de la création de la table.

    Deplus tout marche bien également pour l'insertion comme ceci :

    INSERT INTO `users` ( `ID_USER` , `FIRST_NAME` ) VALUES ('', 'arnaud');

    En revanche sur la version 5.0.25 et la version "MySQL 5.0.45-community-nt" ca ne marche pas comme je voudrais... déjà quand je crée la table, avec la meme écriture sql écrite plus haut, cette fois-ci lorsque je vérifie la structure voici ce qui apparait :

    CHAMP : ID_USER
    TYPE : int(11)
    INTERCLASSEMENT :
    ATTRIBUT :
    NULL : Oui
    DEFAULT : NULL
    EXTRA : auto_increment

    La je comprends pas du tout pourquoi il met NULL oui alors que j'ai précisé NOT NULL... en plus par défaut il me met NULL !! lorsque j'essaye de modifier par l'interface phpmyadmin, je change donc la valeur NULL a NON et par défaut je ne met rien, j'applique les changements, ca répond que les changements ont été effectué, et quand je redemande à nouveau de m'afficher la structure de la table rien n'a changé...

    De plus l'insertion comme sous la version "MySQL 4.1.9-max" ne marche pas en gros :

    INSERT INTO `users` ( `ID_USER` , `FIRST_NAME` ) VALUES ('', 'arnaud');

    #1366 - Incorrect integer value: '' for column 'ID_USER' at row 1

    Je ne comprend vraiment pas ce qu'il se passe j'ai besoin de votre aide au plus vite la communauté !!!

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Insérer '' dans une colonne numérique n'est pas correct. La bonne syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO users (FIRST_NAME) VALUES ('arnaud');
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO users (ID_USER, FIRST_NAME) VALUES (DEFAULT, 'arnaud');

  3. #3
    Membre confirmé

    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Par défaut
    J'avais exactement le même problème. Avec le code d'Antoun, ça marche très bien
    Merci Antoun

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Php/MySQL] Primary key sur plusieurs champs
    Par Elendill dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/04/2009, 16h20
  2. problème primary key
    Par sifu54 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 08/01/2008, 10h48
  3. LOAD DATA INFILE sur table avec AUTO_INCREMENT PRIMARY KEY ?
    Par ctobini dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/10/2007, 11h00
  4. [MySQL] requête avec WHERE sur primary key
    Par newbiemac dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/09/2007, 09h41
  5. Problème de tri sur une PRIMARY KEY
    Par dudu92 dans le forum Oracle
    Réponses: 9
    Dernier message: 19/06/2007, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo