-
Créez un
UNIQUE
contrainte sur votresubs_email
colonne, si elle n'existe pas déjà :ALTER TABLE subs ADD UNIQUE (subs_email)
-
Utilisez
INSERT ... ON DUPLICATE KEY UPDATE
:INSERT INTO subs (subs_name, subs_email, subs_birthday) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE subs_name = VALUES(subs_name), subs_birthday = VALUES(subs_birthday)
Vous pouvez utiliser la fonction VALUES(col_name) dans la clause UPDATE pour faire référence aux valeurs de colonne de la partie INSERT de INSERT ... ONDUPLICATE KEY UPDATE - dev.mysql.com
- Notez que j'ai utilisé des paramètres fictifs à la place des littéraux de chaîne, comme un vraiment devrait utiliser des instructions paramétrées pour se défendre contre les attaques par injection SQL .