sql >> Databasteknik >  >> RDS >> Mysql

mysql ersätt till alternativ

Du kommer att vilja använda syntaxen INSERT...ON DUPLICATE KEY UPDATE.

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

Här är ett exempel som kommer att försöka skapa en post med ett id, födelsedag och namn. Om det finns en post med id-fältet kommer den att göra den angivna uppdateringen. Tabellen har massor av andra fält som e-postadress, postnummer, etc. Jag vill lämna dessa fält ifred om jag uppdaterar. (REPLACE INTO skulle förlora all denna data om jag inte inkluderade den i REPLACE INTO-satsen.)

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';



  1. Importera flera csv-filer till mysql-tabeller

  2. MYSQL JOIN på flera tabeller ger inga resultat

  3. JDBC-anslutningsfel:okänd tidszon

  4. Välj tillbaka en kommaavgränsad lista grupperad efter ett ID