phpmyadmin出错,在本地主机上运行正常

时间:2013-11-12 09:21:41

标签: mysql stored-procedures

我正在写一个sp,我想在插入查询中使用limit。但是限制的值是变化的。所以我使用了一个变量。它在我的本地主机上运行正常,因为它的版本是5.6.14。当我试图在phpmyadmin(版本5.1.54-1ubuntu4)中运行相同的sp时,它会导致错误,因为旧版本不支持限制中的变量。 我在以下查询中收到错误

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

1 个答案:

答案 0 :(得分:3)

使用预先准备好的声明:

SET @query = CONCAT('
    insert into tmp_table_rule2 (reward_id) 
    select 
        (reward_id) 
    from 
       vbw_redemptions 
    order  by redemption_id desc limit ', rule2_redemption_count);
PREPARE statement FROM @query;
EXECUTE statement;