2013-11-05 28 views
0

我写了一个存储过程heidisql(Mysql),其运行良好,并获得所需的输出。错误#1604在phpmyadmin中运行良好heidisql

我试图在phpmyadmin中运行相同的代码,并得到错误#1604

insert into tmp_table_rule2 (reward_id) select (reward_id) from vbw_redemptions order by redemption_id desc limit rule2_redemption_count; 


select count(id) into set_row_count_rule2_temp_table from tmp_table_rule2; 

是得到错误的部分。

Heidisql version - 5.6.14 
phpmyadmin version -5.1.54-1ubuntu4 . 

回答

0

检查使用LIMIT子句;在旧的MySQL版本的LIMIT子句中不可能使用标识符或变量,请参阅用于插入记录的SELECT语句。

从文档(MySQL 5.1) - LIMIT子句可用于限制SELECT语句返回的行数。 LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(除了使用预准备语句时)。

另外:奇怪的是,相同的脚本工作/不在同一台服务器上工作。

+0

是的,你是非常正确的!但是我的极限值会变化,这就是我使用变量的原因。任何解决方案? –

+0

我的应用服务器是旧版本,我的本地主机是最新版本。我认为动态mysql查询是一个很好的解决方案,我正在尝试它。如果它得到解决,我会在这里发布..干杯! –

+0

是的,你是对的。尝试使用准备好的语句。 – Devart

相关问题