mysql - Perl DBI 一次执行多个 SQL 查询

标签 mysql perl dbi

我需要一次执行2个mysql查询来查找查询中元素的位置号,例如:

SET @v1 := 0;  select tbl.number,tbl.name  from (select @v1:=(@v1+1) AS number, id, name,aps from acc order by aps desc limit 5) as tbl where tbl.name='jetli';

但是 DBI 不允许同时发出 2 个查询。

我怎样才能实现我的目标?

最佳答案

在 MySQL 中,user-defined variables are session-specific.您可以在一个语句中设置变量并在后面的语句中访问它:

$dbh->do('SET @foo := 0');

my ($result) = $dbh->selectrow_array('SELECT @foo');
print $result;
# 0

关于mysql - Perl DBI 一次执行多个 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027678/

相关文章:

Perl - DBI 和 .pgpass

php - 在 Laravel Carbon 中按月执行分组时出现时区未找到错误

php - SQL 计算具有匹配值的行

perl - 如何检查 perl cgi 请求是否来自 localhost

perl - 如何在 Perl POD 中记录参数

perl - 如何在 DBI 查询中使用变量作为表名?

php - 使用 PHP 限制登录用户的内容访问

php - 重新排列主键

string - Perl 字符串连接覆盖字符串

perl - 如何在使用 DBI 的 Perl 模块中获得 100% 的测试覆盖率?