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 :

Erreur SQL embetante


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut Erreur SQL embetante
    Bonjour,

    Je suis developpeur php/mysql et j'avoue tomber sur une erreur qui me bloque.
    Je dispose d'une table dans ma base de donnée avec trois champs qu'on appelera ici champ1, champ2 et champ3. champ1 est une clé primaire en auto_increment

    Lorsque je fais la requete suivante:
    INSERT INTO matable SET champ2="AAA", champ3="BBB"

    J'ai le message d'erreur suivant:
    Duplicate entry 'AAA' for key 1

    Le problème étant que la valeur 'AAA' correspond au champ2 qui lui n'est pas une clé primaire. La seule clé primaire est champ1 qui est auto incrémentée.

    Auriez vous quelques idées?

    Merci d'avance


    Benjamin

  2. #2
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut
    Essaie de mettre l'ordre des champs ou tu inséres les données:

    insert into matable(champ2, champ3) values ('AAA', 'BBB')

  3. #3
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Montres nous ton script de création de ta table stp si la première solution ne fonctionne pas.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Voici la table réelle:

    CREATE TABLE `messages` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `id_expediteur` smallint(5) unsigned NOT NULL,
    `id_destinataire` smallint(5) unsigned NOT NULL,
    `date` date NOT NULL,
    `titre` varchar(100) NOT NULL,
    `message` text NOT NULL,
    `etat` varchar(7) NOT NULL,
    `jours` smallint(3) NOT NULL default '30',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3425175 ;


    dans l'exemple, id => champ1
    id_expediteur => champ2
    id_destinataire => champ3

    A priori le problème est toujours rencontré en spécifiant l'ordre d'insertion

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Par défaut
    salut


    Pouvez-vous également donné l'erreur exacte renvoyé avec un exemple bateau?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    le message exact se resume à :

    Duplicate entry '14723' for key 1

    14723 correspond à la valeur de id_destinataire (et donc champ3 et non champ2 dans l'exemple, mais bon ça ne change rien au probleme)

  7. #7
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut
    Quand tu executes ta requête tu l'as fait directement dans PHPMyAdmin ou via un script PHP?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    via php.
    Par contre je viens de me rendre compte d'une chose qui est encore plus embetante. Le message d'erreur ne survient pas à chaque fois. Je vais tenter de savoir ce qui peut causer ce changement dans mon script, je vous reviens dessus.

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

Discussions similaires

  1. [sqlwindows] erreur sql
    Par chassonj dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 15/12/2003, 11h02
  2. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06
  3. Erreurs SQL Server
    Par ZuZu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/10/2003, 16h23
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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