-
Créez un
UNIQUEcontrainte sur votresubs_emailcolonne, 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 .