Bonjour,

J'ai un problème avec une table de ma base de données MySQL. Voici à quoi elle ressemble :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Images
------------
 id
 name
 page_name
 filename
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
alter table images add constraint page_image unique(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
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   |
Mais la requête suivant ne passe pas :

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%';
J'obtiens ce message :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ERROR 1062 (23000): Duplicate entry 'Tarif-$1$sJY8OY2y$Sbl3TdqfuDmzuct4uq1Dr0.jpg' for key 'page_image'
Je ne comprends pas pourquoi je l'obtiens.

Merci d'avance pour vos éclaircissements.