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

MySql Table Indsæt hvis den ikke eksisterer ellers opdatere

Jai har ret i, at du skal bruge INSERT ... PÅ DUPLICATE KEY UPDATE .

Bemærk, at du ikke behøver at inkludere datenum i opdateringsklausulen, da det er den unikke nøgle, så den bør ikke ændre sig. Du skal medtage alle de andre kolonner fra din tabel. Du kan bruge VALUES() funktion for at sikre, at de korrekte værdier bruges, når de andre kolonner opdateres.

Her er din opdatering genskrevet ved hjælp af den korrekte INSERT ... PÅ DUBLIKAT NØLEOPDATERING syntaks for MySQL:

INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE 
  Timestamp=VALUES(Timestamp)


  1. Dobbelt kolon (::) notation i SQL

  2. Sidst udførte forespørgsler for en specifik database

  3. Hvordan bruger man Oracles LISTAGG-funktion med et unikt filter?

  4. 2 måder at konvertere et tal til oktal i MySQL