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

På Duplicate Key Update samme som indsæt

UPDATE erklæring er givet, så ældre felter kan opdateres til ny værdi. Hvis dine ældre værdier er de samme som dine nye, hvorfor skulle du så under alle omstændigheder skulle opdatere dem?

For fx. hvis dine kolonner a til g er allerede indstillet som 2 til 8; det ville ikke være nødvendigt at opdatere den igen.

Alternativt kan du bruge:

INSERT INTO table (id,a,b,c,d,e,f,g)
VALUES (1,2,3,4,5,6,7,8) 
ON DUPLICATE KEY
    UPDATE a=a, b=b, c=c, d=d, e=e, f=f, g=g;

For at få id fra LAST_INSERT_ID; du skal angive den backend-app, du bruger til det samme.

For LuaSQL, en conn:getlastautoid() henter værdien.



  1. Kopier en tabel (inklusive indekser) i postgres

  2. Hvad er PL/SQL-lagrede procedurer i Oracle-databasen

  3. docker postgres pgadmin lokal forbindelse

  4. Hvorfor fusionerede PostgreSQL brugere og grupper til roller?