Mysql
 sql >> Database >  >> RDS >> Mysql

mysql sostituisci in alternativa

Ti consigliamo di utilizzare la sintassi INSERT...ON DUPLICATE KEY UPDATE.

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

Ecco un esempio che proverà a creare un record con un ID, un compleanno e un nome. Se esiste un record con il campo id, eseguirà l'aggiornamento specificato. La tabella ha molti altri campi come indirizzo e-mail, codice postale, ecc. Voglio lasciare quei campi da soli se aggiorno. (REPLACE INTO perderebbe tutti quei dati se non li includessi nell'istruzione 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';