sql >> Base de Datos >  >> RDS >> Mysql

¿Hay algún truco para permitir que MySQL ignore una coma final en la cláusula SET de una instrucción UPDATE?

A menos que esté dispuesto a duplicar un valor como sugiere Igoel (que puede no ser ideal si el valor es largo), la respuesta simple es no .

Una posibilidad brevemente alentadora fue el uso de el alias NEW para representar los valores entrantes, de modo que el valor final pueda duplicarse sin tener que volver a presentarlo en la consulta (y espero que el optimizador de consultas lo elimine):

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

Por desgracia, esto no se admite en un UPDATE instrucción, solo dentro de un cuerpo desencadenante.

Tendrá que hacer la manipulación en su C++ antes de ejecutar la declaración, ya sea mediante el reemplazo de caracteres (, para ) o eliminación de caracteres; el primero puede producir un código más complejo que el que tiene ahora, y el segundo puede ser ineficiente (dependiendo de la estructura de su código de creación de consultas), pero sigue siendo su mejor opción.