Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql substituir em alternativa


Você vai querer usar a sintaxe INSERT...ON DUPLICATE KEY UPDATE.

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

Aqui está um exemplo que tentará criar um registro com um id, aniversário e nome. Se existir um registro com o campo id, ele fará a atualização especificada. A tabela tem muitos outros campos como endereço de e-mail, código postal, etc. Eu quero deixar esses campos em paz se eu atualizar. (REPLACE INTO perderia qualquer um desses dados se eu não os incluísse na instrução 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';