2009-04-18 19 views

Respuesta

37

Punto y coma al final de la línea.

INSERT INTO myTable (ID) values (5); 
+1

Ni siquiera tiene que estar al final de la línea, justo al final de la declaración – soulmerge

+0

Creé una instrucción de inserción con ID = 0, y luego modifiqué el campo para incrementar automáticamente. Fue agregado como ID = 1 .. – zeetit

8

Just a simple;

así que intenta

insert into myTable(ID) values (5); 
select * from myTable; 
4

Utilice un punto y coma (;). Separará tus declaraciones.

13

El punto y coma es el delimitador predeterminado. Sin embargo, puede redefinirlo a lo que quiera con la palabra clave DELIMITER. Desde el manual de MySQL:

mysql> delimiter // 

mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) 
    -> BEGIN 
    -> SELECT COUNT(*) INTO param1 FROM t; 
    -> END; 
    -> // 
Query OK, 0 rows affected (0.00 sec) 

mysql> delimiter ; 

mysql> CALL simpleproc(@a); 
Query OK, 0 rows affected (0.00 sec) 

Esto no se limita a las definiciones de procedimiento almacenado, por supuesto.

5

Creo que el problema es que GO es un terminador de lote, no un terminador de declaración. Después de establecer explícitamente las transacciones, obtuve este código para ejecutar sin decirme que el procedimiento ya existe. Sin las declaraciones de transacción, obtengo un error de que el procedimiento ya existe.

iniciar transacción; drop procedure if existe usp_test; commit; iniciar transacción; CREAR PROCEDIMIENTO usp_test() SELECCIONAR * de libros; commit; llamada usp_test();

Cuestiones relacionadas