Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/05/2013, 12:19
max_mouse699
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: Problemas con un trigger

Hola buenas Lyanna.

Realizando un analisis de la sintaxis que muestra la creacion del trigger, puedo determinar que fectivamente el error que muestra es totalmente correcto, pero que el error no esta especificamente en la creacion del trigger debido a que en la definicion del trigger mencionas que tu base de datos es joomla; sino que esta justamente en el cuerpo del trigger, porque hay una consulta que tu realizas, que no tiene especificada su base de datos.

La verdad es que no tan solo es ese el error en sintaxis, sino que tambien el error pasa porque no cerraste la condicion del if, que deberia haberse terminado con un END IF. Te dejo mas abajo como deberia estar escrita tu consulta,indicando en corchete donde deberia estar el nombre de tu base de datos que quieres realizar la consulta.

Código MySQL:
Ver original
  1. CREATE trigger lgt_autoupdate
  2.  
  3. after INSERT on joomla.chsgb_users
  4.     If (SELECT `group_id` FROM [AQUI DEBERIA IR TU BASE DE DATOS].`chsgb_user_usergroup_map` WHERE `user_id` = new.id) LIKE '14'
  5.       BEGIN
  6.  
  7.         INSERT INTO appedir.cliente(`nombre`, `apellidos`, `nif`, `calle`, `telefono`, `fecha_nacimiento`, `email`, `numero_cuenta`, `movil`, `numero`, `cp`, `ciudad`, `provincia`, `idJoomla`)
  8.         VALUES (new.name, "", "", "", "", "", new.email, "", "", "", "", "", "", new.id)
  9.     END IF;

Tambien puedes comprobar si esta bien lo que haces, realizando la siguiente prueba desde phpMyAdmin. Cuando ingreses a phpMyAdmin, realiza lo sigueinte si es que fuera posible:

1.- Al momento de ingresar a phpMyAdmin, no selecciones ninguna base de datos para ver sus tablas.
2.- Te deberia aparecer una opcion de SQL, en la cual puedes ingresar codigo para realizar acciones. es en este caso en donde debes pegar solo la consulta del SELECT (la que esta en el if), y desde ahi ejecutar y comprobar que te devuelva los datos solicitados; sino es asi, es porque ahi esta el error. Y asi puedes hacerlo con todas las query que tengas en el trigger, una vez que compruebas que todas te funcionan, podes comprobar que el trigger este ok.

Cuentanos como te fue. Saludos.