我正在写一个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;
答案 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;