Si vous souhaitez le faire en une seule instruction (cela ressemble à ce que vous voulez), je vous recommande d'utiliser le INSERT ... ON DUPLICATE KEY UPDATE
syntaxe, comme suit :
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
Le INSERT
initial s'exécutera s'il n'existe aucun enregistrement existant avec la valeur de clé spécifiée (clé primaire ou unique). Si un enregistrement existe déjà, le UPDATE
suivant instruction (someothervalue = 3
) est exécuté.
Ceci est pris en charge dans toutes les versions de MySQL. Pour plus d'informations, consultez la page Manuel de référence MySQL pour INSERT ... ON DUPLICATE KEY UPDATE