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

Inserção de tabela MySql se não existir, caso contrário, atualize


Jai está correto que você deve usar INSERT ... ON DUPLICATE KEY UPDATE .

Observe que você não precisa incluir datenum na cláusula de atualização, pois é a chave exclusiva, portanto, não deve ser alterada. Você precisa incluir todas as outras colunas da sua tabela. Você pode usar o VALUES() para garantir que os valores apropriados sejam usados ​​ao atualizar as outras colunas.

Aqui está sua atualização reescrita usando o INSERT ... ON DUPLICATE KEY UPDATE apropriado sintaxe para MySQL:
INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE 
  Timestamp=VALUES(Timestamp)