Alcance: dos tablas. Cuando se crea un nuevo usuario, tienen cierta información sobre ellos almacenada en una segunda tabla (Esto se hizo usando un activador también, funciona como se esperaba). Aquí hay un ejemplo de la estructura y relación de mi mesa.Disparo de MySQL: Eliminar de la tabla DESPUÉS DE ELIMINAR
Tabla 1->clientes
+-----+---------+-----+
+ id + name + val +
+=====+=========+=====+
+ 37 + george + x +
+-----+---------+-----+
+ 38 + sally + y +
+-----+---------+-----+
Tabla 2 ->patron_info
+----+-----+----------+
+ id + pid + name +
+----+-----+----------+
+ 1 + 37 + george +
+----+-----+----------+
+ 2 + 38 + sally +
+----+-----+----------+
El administrador puede gestionar los clientes. Cuando eligen eliminar un usuario, el usuario se elimina de la tabla patrons
. En este punto, no ocurre nada con tabla 2patron_info
.
Estoy simplemente tratando de crear un disparador para eliminar de la tabla 2, cuando la tabla 1 tiene un elemento eliminado. Aquí es lo que he intentado ...
Inicialmente, trato de soltar el gatillo si existe (sólo para limpiar el aire) ...
DROP TRIGGER IF EXISTS log_patron_delete;
entonces trato de crear el gatillo después. ..
CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
WHERE patron_info.pid = patrons.id
END
En este punto, me sale un error de sintaxis 1046: Check syntax near END on line 6
. No sé cuál es el error en este punto. Probé varias variaciones diferentes. Además, ¿estoy obligado a usar un delimitador aquí?
¿Alguien puede ayudar a restaurar mi cordura?
¿Qué ayuda necesitarías aquí? ¿Cuál es tu verdadera pregunta? –
@vivek_jonam El activador de eliminación no se activará. Me da un error de sytnax en 'END' en la línea 6. Además, ¿lo envuelvo en un 'DELIMETER $$'? – Ohgodwhy
@Ohgodwhy: solo una nota sobre la pregunta de Memcache: se vinculó solo después de que la agregué. No estaba en "Relacionados" antes de hacerlo. – zerkms