MySQL - condicionales if no funcionan mysql

 
Vista:
sin imagen de perfil

condicionales if no funcionan mysql

Publicado por william (1 intervención) el 02/02/2016 16:24:09
Buenas! estoy aprendiendo sobre mysql pero me he quedado atascado con un problema que no logro solucionarlo de ninguna manera, se trata sobre los if y los begin en mysql.
he leido mucho y en mysql es distinto de sql server donde no existe problema con los puntos y coma, estoy tratando de hacer funcionar este storage procedure pero no lo logro

1
2
3
4
5
6
7
CREATE PROCEDURE insertar(in i int, in n varchar(40), in u varchar(40), in p varchar(40), in l int)
BEGIN
IF NOT EXISTS (SELECT * FROM usuarios WHERE username = u) THEN
INSERT INTO usuarios
VALUES(i,n,u,p,l);
END IF;
END;

ahora los problemas que tengo son siempre en los end y end if no logro q un if o un begin se cierre correctamente tambien me da un error en el punto y coma de la setencia insert la cual se quita si le pongo punto y coma al begin pero el error se pasa al if, de igual manera queda con error si le quito los punto y coma a los end

alguien sabe a q se debe esto y como arreglarlo, ya que segun lo que he leido en internet no me deberia dar ese error en los end ni en los end if
uso mysql 5.6
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 20
Ha disminuido su posición en 25 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

condicionales if no funcionan mysql

Publicado por Gonzalo (3 intervenciones) el 05/02/2016 16:26:37
1
2
3
4
5
6
7
CREATE PROCEDURE insertar(in i int, in n varchar(40), in u varchar(40), in p varchar(40), in l int)
BEGIN
IF (SELECT COUNT(1) FROM usuarios WHERE username = u LIMIT 1) = 0 THEN
  INSERT INTO usuarios
  VALUES(i,n,u,p,l);
END IF;
END;

En cuanto al error d e compilación, dependerá de que front estés usando para intentarlo.
¿phpMyadmin?
¿Consola de MySQL?
¿MySQL Workbench?

La solucion es diferente en cada caso...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar