Empêcher l'insertion d'un triple champs différent

Eléphant du PHP | 65 Messages

18 mars 2011, 09:55

Bonjour,
Dans la table articles il y a les champs codearticle, prix, codeclient

Comment empêcher l'insertion d'un nouvel article avec un prix différent pour un article déjà enregistré dans la table?
Exemple:
l'article suivant est enregistré:
a1, 1.23, BIDON
empêcher l'insertion de l'article (prix différent):
a1, 2.34, BIDON

Cordialement
Jac.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 mars 2011, 23:07

Avec le meme prix, c'est autorise ?

Si la reponse est non ; index unique sur une ou plusieurs colonnes

Ou dans les deux cas, un select avant pour verifier que la ligne que tu vas inserer n'existe pas deja

Mais j'ai l'impression que tu as deja pose au moins deux questions identiques deja, je me trompe ?

Eléphant du PHP | 65 Messages

18 mars 2011, 23:40

Merci ouckileou de t'intéresser à mon sujet.

Ca n'a rien à voir avec mes questions précédentes bien que ça touche le même thème.

En fait j'ai en plus un champ machine (j'aurais dû le préciser):
codearticle, prix, machine, codeclient

J'ai cet enregistrement dans la table:
a1, mach1, 1.23, BIDON

Je dois pouvoir entrer les cas suivants:
a1, mach2, 1.23, BIDON
a1, mach2, 3.45, CLIENT2

Mais pas:
a1, mach2, 2.34, BIDON
car le prix d'un article pour le même client ne peut être différent

De plus je peux aussi avoir une autre machine qui possède le même article, donc le même prix par le même client:
a1, mach3, 1.23, BIDON -> Ok
a1, mach3, 3.45, BIDON -> pas Ok