#1062 duplicate entry '127' for key 1

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : #1062 duplicate entry '127' for key 1

par zeus » 30 nov. 2005, 16:02

Quand tu as créés ta table, tu as dit que le champ word_text serait ta clé primaire. De ce fait découle le fait que tu ne peut avoir dans ta table 2 lignes qui ont la même valeur de word_text

Quand je lit ta table, il me semble que c'est plutôt le champ word_id qui devrait être ta clé primaire (PRIMARY KEY)

par Invité » 30 nov. 2005, 15:54

J'ai pas très bien compris ton message.

En fait quand j'enlève la ligne qui est à double dans la base que je veux importer, ça marche, mais je dois le faire pour tous les mots à double, exemple :
préparation - preparation / Il y aura une erreur #1062
complétement - completement / Il y aura une erreur #1062

Mais d'après ce que j'ai pu comprendre en modifiant tinyint par autre chose ça devrait marcher, est-ce que tu vois mon problème depuis le code que j'ai mis plus haut ?

par zeus » 30 nov. 2005, 15:50

Est-ce que tu as lu le post ?

parce que cette erreur signifie que tu veux insérer une ligne dont la clé primaire existe déjà dans la table

par fowler » 30 nov. 2005, 15:36

Je possède la même erreur, voila mon code
# TABLE: phpbb_search_wordlist
#
DROP TABLE IF EXISTS phpbb_search_wordlist;
CREATE TABLE phpbb_search_wordlist(
word_text varchar(50) NOT NULL,
word_id mediumint(8) unsigned NOT NULL auto_increment,
word_common tinyint(1) unsigned NOT NULL,
PRIMARY KEY (word_text),
KEY word_id (word_id)
);

Je ne sais pas quoi changer, car je suis pas un expert avec les tinyint, mais mon erreur est la suivante
Image

Merci les gars de votre aide, si jamais je suis sur msn [email protected] si qqn veut m'expliquer en live

par Invité » 31 mars 2005, 16:19

Hey merci pour ce post qui a répondu à mon problème !

par FAbrice » 21 mars 2005, 21:58

re re

Pas mal ton explication!! c un bon moyen de gagner "de la place"!!!

merci encore,
FAb

par ayayaaa » 21 mars 2005, 20:45

Re

si tu mets pas unsigned ton champs pourra contenir des nombres allant de -k à +k.
Or pour un identifiant tu n'as pas besoin des nombres négatifs.
Si tu mets unsigned tu pourras entrer des nombres dans ton champs allant de 0 à +2k.
Donc pour la même taille mémoire utilisé sur ton serveur tu peux mettre 2 fois plus d'enregistrement.

AYAYAAA

par FAbrice » 21 mars 2005, 19:58

re,

merci pour le lien!

dsl pour le l'apsus des doigts 8)

merci encore,
FAb

par flitox » 21 mars 2005, 19:45

Tu trouveras ton bonheur ici ;)

http://www.nexen.net/docs/mysql/annotee ... erview.php

Pour info ce n'est pas easyphp qui contient des champs mais MySQL ;)

par FAbrice » 21 mars 2005, 19:06

Alut :D

g retrouvé le sourrir grace a vous :P

en fait, j'ai juste changer "tinyint " par "mediumint " et maintenant tout va bien!
MERCI 8)

sinon, ca apporte koa unssigned ??
et ou est ce que je pourrai trouver la signification des option posiibles pour les champs des tables dans easyphp???

merci bcq,
FAb

par ayayaaa » 21 mars 2005, 14:11

Salut

Quel est le type de ton identifiant??
Apparement tu as du mettre un identifiant en tinyint qui permet de gérer que peu de valeur(255) en entier signé et ca doit buggué a partir de ton 127eme enregistrement.

essaye avec mediumint unssigned comme type pour ton champs ID.

Ayayaaa

par Cyrano » 21 mars 2005, 12:55

Disons qu'avec la structure de la table et le bout de code qui fait l'insertion, on verra mieux où chercher le bobo

par FAbrice » 21 mars 2005, 12:45

bonjour les gars!

merci de vos réponses;

ce que je en compends pas c pourkoa ca arrive alors que je n'ai rien touché a ma requete et à ma table via le panneau admin de easyphp ! :x

que'est ce que je pourrai vous fournir pour que vous puissiez mieux cibler le pb????

merci de votre aide,
FAb

par Cyrano » 21 mars 2005, 11:35

Si tu as une clé primaire en "auto-increment", l'affichage de l'erreur vient de ce que tu envoies une valeur de clé primaire toi-même alors qu'elle existe déjà. Dans ta requête d'insertion, tu peux n'envoyer que les valeurs des autres champs sans mettre de clé primaire puis récupérer cette valeur de clé avec LAST_INSERT_ID (ou quelque chose de ce genre) si tu en as besoin pour mettre à jour certaines autres tables. La clé primaire sera générée automatiquement par le SGBD.

par sadeq » 21 mars 2005, 10:33

sans voir la structure de la table, la requête INSERT utilisée et certaines valeurs existantes on ne peut rien dire. Mais le message "#1062 " concerne un doublon de valeur de clé primaire ou d'index unique c'est à dire que la valeur entrée existe déja soit dans champ jouant le rôle de clé primaire ou index unique.
Regardez du côté du vérouillage d'enregistrement et de la gestion de l'indexation, consultez ce lien :
http://www.nexen.net/docs/mysql/annotee ... ?lien=lock pour plus d'informations