Bonjour,
J'ai un problème avec une table de ma base de données MySQL. Voici à quoi elle ressemble :
Je ne veux pas que deux lignes de cette table aient le même "page_name" et "filename" (ces champs sont du type VARCHAR type). J'ai donc fait ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7Images ------------ id name page_name filename
Ça a l'air de fonctionner pas trop mal, mais je ne suis souvent pas autorisé à ajouter des données à cause de cette contrainte, et je comprends pas pourquoi. Voici ce que j'ai dans cette table en ce moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter table images add constraint page_image unique(page_name, filename);
Mais la requête suivant ne passe pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 id | name | page_name | filename | 187 | Fotolia_59179246_XL.jpg | | $1$sJY8OY2y$Sbl3TdqfuDmzuct4uq1Dr0.jpg | | 188 | Fotolia_21287471_L.jpg | | $1$RYqR0EWw$zj9e2bccgx7yRoAfZTaL.jpg | | 189 | Fotolia_59179246_XL.jpg | Home page | $1$sJY8OY2y$Sbl3TdqfuDmzuct4uq1Dr0.jpg | | 190 | Fotolia_59195969_L.jpg | | $1$Nl2k4xlG$b8M3BZqo8ndfRB04nk2J.jpg | | 211 | Fotolia_59195969_L.jpg | Tariffe | $1$Nl2k4xlG$b8M3BZqo8ndfRB04nk2J.jpg |
J'obtiens ce message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into images(name, page_name, filename) select name, 'Tarif', filename from images where name like '59179246_XL%';
Je ne comprends pas pourquoi je l'obtiens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ERROR 1062 (23000): Duplicate entry 'Tarif-$1$sJY8OY2y$Sbl3TdqfuDmzuct4uq1Dr0.jpg' for key 'page_image'
Merci d'avance pour vos éclaircissements.
Partager