sql >> Base de Datos >  >> RDS >> Mysql

mysql reemplazar en alternativa

Vas a querer usar la sintaxis INSERT...ON DUPLICATE KEY UPDATE.

http://dev.mysql.com/doc /refman/5.1/en/insertar-en-duplicado.html

Aquí hay un ejemplo que intentará crear un registro con una identificación, cumpleaños y nombre. Si existe un registro con el campo id, realizará la actualización especificada. La tabla tiene muchos otros campos como dirección de correo electrónico, código postal, etc. Quiero dejar esos campos solos si actualizo. (REPLACE INTO perdería cualquiera de esos datos si no los incluyera en la instrucción 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';