写了一个如下的存储过程,在编译的时候 总报错!create PROCEDURE user_list(in pageno INTEGER(11),in pagecount INteger(11))
begin
declare ino INTEGER(11);
SELECT ((pageno-1)*pagecount+1) into ino;
select * from users LIMIT ino,pagecount;
end;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 'ino,pagecount;
end' at line 5这是什么原因?请高人解答!我用的是mysql 5.5的版本
begin
declare ino INTEGER(11);
SELECT ((pageno-1)*pagecount+1) into ino;
select * from users LIMIT ino,pagecount;
end;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 'ino,pagecount;
end' at line 5这是什么原因?请高人解答!我用的是mysql 5.5的版本
解决方案 »
- 使用ToadForMySQL在创建PROCEDURE的时候出现错误,大家帮帮我啊
- 奇怪 为什么我电脑的my.ini里没有 query_cache_type
- 求助,WINDOWS下MYSQL双机同步的问题
- 我想要mysql 4.0 manual即官方网站在线那份
- Mysql 3.23.56 (新的Mysql稳定版)荐!
- mysql + ibatis 分页中 limit后有运算式如何解决
- mysql数据库导入
- mysqldump倒出的数据库备份如何在装入Mysql数据库??
- 请问怎么改变mysql的系统变量?
- mysql服务连接问题
- mysql是否可以一次执行多条命令
- PostgreSQL 字段值 大小写问题
PREPARE stmt1 FROM 'select * from users LIMIT ?,?';
SET @a = ino;
SET @b = pagecount
EXECUTE stmt1 USING @a, @b;or
set dd=conact('select * from users LIMIT',ino,pagecount)
PREPARE stmt1 FROM dd
EXECUTE stmt1
EXECUTE stmt1;
PREPARE stmt1 FROM dd
EXECUTE stmt1
create PROCEDURE user_day_list(in pageno INTEGER(11),in pagecount INteger(11))
begin declare dd,stmt1 VARCHAR(200); select CONCAT('select id from users LIMIT ',pageno,',',pagecount) into dd;
PREPARE stmt1 from @dd;
EXECUTE stmt1;
end;
call user_day_list(1,20);我是这么写的,编译通过了,但在调用的时候 出现了下面的错误。
Query OK, 0 rows affected (47 ms)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 'NULL' at line 1
drop procedure if exists `rr`.`rr`$$
CREATE PROCEDURE `rr`.`rr`(in pageno INTEGER(11),in pagecount INteger(11))
BEGIN
set @dd=CONCAT('select id from tt LIMIT ',pageno,',',pagecount);
PREPARE stmt1 from @dd;
EXECUTE stmt1;
END$$
在MYSQL6下测试通过
drop procedure if exists `rr`.`rr`$$
CREATE PROCEDURE `rr`.`rr`(in pageno INTEGER(11),in pagecount INteger(11))
BEGIN
set @dd=CONCAT('select id from tt LIMIT ',pageno,',',pagecount);
PREPARE stmt1 from @dd;
EXECUTE stmt1;
END$$
在MYSQL6下测试通过
另外为什么你喜欢加上反引号??
能不能让count(*),自己为null是返回0,而不是在前边判断???