Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql remplacer en alternative

Vous allez vouloir utiliser la syntaxe INSERT...ON DUPLICATE KEY UPDATE.

http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html

Voici un exemple qui essaiera de créer un enregistrement avec un identifiant, une date de naissance et un nom. Si un enregistrement avec le champ id existe, il effectuera la mise à jour spécifiée. La table a beaucoup d'autres champs comme l'adresse e-mail, le code postal, etc. Je veux laisser ces champs seuls si je mets à jour. (REPLACE INTO perdrait toutes ces données si je ne les incluais pas dans l'instruction REPLACE INTO.)

INSERT INTO user (userid,birthday,first_name,last_name) 
   VALUES (1234,'1980-03-07','Joe','Smith') 
ON DUPLICATE KEY UPDATE 
   birthday = '1980-03-07',
   first_name = 'Joe', 
   last_name = 'Smith';