MySQL: ¿Cómo uso delimitadores en disparadores?
Alguien me dijo que necesito usar un delimitador en mi gatillo. Estoy mirando la página del manual de MySQL y la encuentro en el ejemplo; sin embargo, no está en la documentación genérica.
Aquí está el código que estoy tratando de corregir:
CREATE TRIGGER adult BEFORE INSERT OR UPDATE ON table5.column5
FOR EACH ROW BEGIN
UPDATE table1 SET column5 = table5.column5 WHERE table5id = table1xtable5.table5id WHERE table1xtable5.table1id = OLD.table1.id$
END$
Honestamente, no tengo idea de cómo hacer esto, y la documentación enhttp: //dev.mysql.com/doc/refman/5.5/en/create-trigger.htm parece una referencia horriblemente inadecuada. Por ejemplo, al leer sobre "old
"y"new
", hace referencia a"subject table
"- la tabla asociada con el activador. Hay dos tablas asociadas con este activador, y en realidad estoy tratando de asociar más tablas con este activador ... Al mirar el código de ejemplo, laUPDATE
line, que afecta a table4, solo se utilizan columnas dentro de table4 (están agregando 1 al valor). Además, están usandoWHERE ~ a3 = NEW.a1
. No creo que esa identificación funcione de esa manera. No debería haber una ID universal que funcione en todas las tablas. Definitivamente deberían estar usando una tabla de interdependencia en el ejemplo, para aplicabilidad.
Realmente hice una pregunta similar hoy más temprano sobre cuál sería un buen método para hacer esto, pero ahora me pregunto, simplemente, si hay un método. Gracias por leer. :)
Aquí hay un ejemplo de un disparador que actualiza otra tabla, pero no parece usar un delímetro:
CREATE TRIGGER mytrigger BEFORE INSERT ON odp
FOR EACH ROW
UPDATE total_points SET points = points + NEW.points;
o que no se explica en este ejemplo es cómoodp
ytotal_points
superposición. ¿Cómo podemos estar seguros de que latotal_points
mesaspoints
fila es la @ correcpoints
¿fila? ¿Qué fila en lapoints
table se actualizaría MySQL? X/
Entonces, ¿no debería haber alguna forma de especificar cuál de las filas total_points.points actualizarBEFORE INSERT ON odp
?