Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy jest jakiś trik, który pozwala MySQL'owi ignorować końcowy przecinek w klauzuli SET instrukcji UPDATE?

O ile nie chcesz powielić wartości, jak sugeruje Igoel (co może nie być idealne, jeśli wartość jest długa), prosta odpowiedź brzmi nie .

Jedną z krótko zachęcających możliwości było użycie aliasu NOWOŚĆ do reprezentowania wartości przychodzących, aby końcowa wartość mogła zostać zduplikowana bez konieczności ponownego przedstawiania jej w zapytaniu (i mam nadzieję, że zostanie to usunięte przez optymalizator zapytań):

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

Niestety, nie jest to obsługiwane w UPDATE oświadczenie, tylko wewnątrz ciała wyzwalającego.

Będziesz musiał dokonać manipulacji w swoim C++ przed wykonaniem instrukcji, albo poprzez zamianę znaków (, dla ) lub usunięcie znaku; to pierwsze może generować bardziej złożony kod niż masz teraz, a drugie może być nieefektywne (w zależności od struktury twojego kodu do tworzenia zapytań), ale nadal jest to najlepsza opcja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Modelowanie bazy danych dla słabego podmiotu

  2. Jak mogę przekazać tablicę wartości do mojej procedury składowanej?

  3. Jak stworzyć moduł Nadchodzące urodziny w Railsach?

  4. Procedura zapisana z opcjonalnymi parametrami WHERE

  5. Sposób na przerwanie wykonywania skryptów MySQL (być może zgłoszenie błędu)?