Erreur avec mysql
booloo
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
fiu -
fiu -
Bonjour,
Voici ma table :
create table RELEASE_PROJECT
(
ID_RELEASE_PROJECT int not null,
LABEL_RELEASE_PROJECT varchar(40) not null,
primary key (ID_RELEASE_PROJECT)
)
type = InnoDB;
insert into RELEASE_PROJECT (LABEL_RELEASE_PROJECT) values ("01-Receveid");
Après execution de la requete l'erreur suivante apparait:
#1062 - Duplicate entry '0' for key 'PRIMARY'
Je vous remercie d'avance pour votre aide.
Voici ma table :
create table RELEASE_PROJECT
(
ID_RELEASE_PROJECT int not null,
LABEL_RELEASE_PROJECT varchar(40) not null,
primary key (ID_RELEASE_PROJECT)
)
type = InnoDB;
insert into RELEASE_PROJECT (LABEL_RELEASE_PROJECT) values ("01-Receveid");
Après execution de la requete l'erreur suivante apparait:
#1062 - Duplicate entry '0' for key 'PRIMARY'
Je vous remercie d'avance pour votre aide.
A voir également:
- Erreur avec mysql
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
1 réponse
Salut,
je vais essayer de te répondre, bien que je ne sois pas un kador en MySQL
le primary key que tu as déclaré dans ta table est une contrainte de clé primaire : tu interdis à la base d'avoir ID_RELEASE_PROJECT une valeur null ou d'avoir deux fois la même valeur
lors de ta première insertion dans ta table, tu n'as spécifié que LABEL_RELEASE_PROJECT, comme ID_RELEASE_PROJECT n'était pas fourni, MySQL a automatiquement utilisé la valeur 0.
lors de la seconde insertion, si tu continues à ne spécifier que le texte, MySQL va à nouveau remplacer l'absence de valeur pour ID par 0...
Mais il existe déjà une ligne avec 0 ! ... d'où l'erreur.
Pour contourner ça
1. tu utilises un auto-incrément, mais je sais pas comment ça marche, tu dois te plonger dans la littérature
2. tu gères toi-même l'identifiant et donc tu spécifie un code ou un nombre identifiant ta ligne et le texte (par exemple, pour les projets, l'humain a l'habitude de nommer ses projets et de lui associer un acronyme => utilise donc l'acronyme comme identifiant !)
je vais essayer de te répondre, bien que je ne sois pas un kador en MySQL
le primary key que tu as déclaré dans ta table est une contrainte de clé primaire : tu interdis à la base d'avoir ID_RELEASE_PROJECT une valeur null ou d'avoir deux fois la même valeur
lors de ta première insertion dans ta table, tu n'as spécifié que LABEL_RELEASE_PROJECT, comme ID_RELEASE_PROJECT n'était pas fourni, MySQL a automatiquement utilisé la valeur 0.
lors de la seconde insertion, si tu continues à ne spécifier que le texte, MySQL va à nouveau remplacer l'absence de valeur pour ID par 0...
Mais il existe déjà une ligne avec 0 ! ... d'où l'erreur.
Pour contourner ça
1. tu utilises un auto-incrément, mais je sais pas comment ça marche, tu dois te plonger dans la littérature
2. tu gères toi-même l'identifiant et donc tu spécifie un code ou un nombre identifiant ta ligne et le texte (par exemple, pour les projets, l'humain a l'habitude de nommer ses projets et de lui associer un acronyme => utilise donc l'acronyme comme identifiant !)