sql >> Databáze >  >> RDS >> Mysql

Existuje nějaký trik, který umožní MySQL ignorovat koncovou čárku v klauzuli SET příkazu UPDATE?

Pokud nejste ochotni duplikovat hodnotu, jak navrhuje Igoel (což nemusí být ideální, pokud je hodnota dlouhá), jednoduchá odpověď je ne .

Jednou stručně povzbudivou možností bylo použití aliasu NEW reprezentovat příchozí hodnoty, takže konečná hodnota může být duplikována, aniž by bylo nutné ji znovu prezentovat v dotazu (a doufám, že to bude odstraněno optimalizátorem dotazu):

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

Bohužel, toto není podporováno v UPDATE pouze uvnitř těla spouště.

Před provedením příkazu budete muset provést manipulaci ve vašem C++, a to buď nahrazením znaků (, pro ) nebo odstranění postavy; první může produkovat složitější kód, než máte nyní, a druhý může být neefektivní (v závislosti na struktuře vašeho kódu pro vytváření dotazů), ale stále je to vaše nejlepší volba.



  1. Oracle Partition By Keyword

  2. Datatyp Oracle:Mám použít VARCHAR2 nebo CHAR

  3. Správa a monitorování databáze pro PostgreSQL 12

  4. OpenSSL - chyba 18 při vyhledávání hloubky 0:certifikát s vlastním podpisem