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

Er der et trick til at tillade MySQL at ignorere et efterfølgende komma i SET-sætningen i en UPDATE-sætning?

Medmindre du er villig til at duplikere en værdi, som Igoel foreslår (hvilket måske ikke er ideelt, hvis værdien er lang), er det enkle svar nej .

En kort opmuntrende mulighed var brugen af ​​aliaset NYT at repræsentere de indkommende værdier, så den endelige værdi kan duplikeres uden faktisk at skulle præsentere den i forespørgslen igen (og jeg håber, at dette ville blive fjernet af forespørgselsoptimeringsværktøjet):

UPDATE `myTable` SET 
   `Field1` = "value",
   `Field2` = "value",
   `Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";

Desværre, dette understøttes ikke i en OPDATERING sætning, kun inde i en udløsende krop.

Du skal udføre manipulationen i din C++, før du udfører sætningen, enten gennem tegnerstatning (, for ) eller fjernelse af tegn; førstnævnte kan producere mere kompleks kode, end du har nu, og sidstnævnte kan være ineffektiv (afhængigt af strukturen af ​​din forespørgselsopbygningskode), men det er stadig dit bedste bud.



  1. Læsbare sekundærer på et budget

  2. Sådan flyttes lokal MYSQL DB op til ekstern DB-server

  3. Jeg kan ikke finde nogen fejl.denne kode fungerer godt.opdater mine data perfekt.men 1 fejl vises

  4. Sådan beregner du vækst i procent uge over uge i MySQL