我的环境是windows xp sp3,安装的php(5.2.12)+apache(2.0)+mysql(5.1.42),使用phpnow搭建的
在phpmyadmin里面创建存储过程
create procedure getuser(in um varchar(20))
beginend
可以创建,也可以 drop procedure getuser删除
但是只要在begin或者end里面加入任何语句,全部报错,注释可以通过
例如
create procedure getuser(in um varchar(20))
begin
decalre str varchar(20);
end
报错信息为:错误
SQL 查询: CREATE PROCEDURE getuser( IN um varchar( 20 ) ) BEGIN decalre str varchar( 20 ) ;MySQL 返回: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'str varchar(20)' at line 3 无论我在begin...end之间加什么语句,全部都报错
请问怎么解决
在phpmyadmin里面创建存储过程
create procedure getuser(in um varchar(20))
beginend
可以创建,也可以 drop procedure getuser删除
但是只要在begin或者end里面加入任何语句,全部报错,注释可以通过
例如
create procedure getuser(in um varchar(20))
begin
decalre str varchar(20);
end
报错信息为:错误
SQL 查询: CREATE PROCEDURE getuser( IN um varchar( 20 ) ) BEGIN decalre str varchar( 20 ) ;MySQL 返回: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'str varchar(20)' at line 3 无论我在begin...end之间加什么语句,全部都报错
请问怎么解决
create procedure getuser(in um varchar(20))
begin
declare str varchar(20);
end
还是
create procedure getuser(in um varchar(20),out bb varchar(20))
begin
set bb = 'abcd';
end反正只要在BEGIN和END里面加入任何东西全部是错的
delimiter //
create procedure getuser(in um varchar(20))
begin
axxx x x xc ;
xc xc ;
x x;end
//
delimiter //
create procedure getuser(in um varchar(20))
begin
declare str varchar(20);
end
//
还是错误,为什么呢#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '//' at line 5
delimiter // create procedure getuser(in um varchar(20)) begin declare str varchar(20); end //
begin
decalre 'str' varchar(20);
end把 str 用单引号试试
begin
decalre 'str' varchar(20);
end错误
SQL 查询: CREATE PROCEDURE getuser( IN um varchar( 20 ) ) BEGIN decalre 'str'varchar( 20 ) ;MySQL 返回: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''str' varchar(20)' at line 3
delimiter ;
然后再运行
create procedure getuser(in um varchar(20))
begin
declare str varchar(20);
end;
这个呢
可是还是报错
错误
SQL 查询: CREATE PROCEDURE getuser( IN um varchar( 20 ) ) BEGIN declare str varchar( 20 ) ;MySQL 返回: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3