【发布时间】:2018-06-08 22:33:36
【问题描述】:
我正在使用 DBI selectall_array 从 mysql 中获取所有数据。我的查询为每一行返回 1 列。但是selectall_array 函数会为每一行返回一个数组 ref 数组,如下所示
$VAR1 = [
'1.ptmp'
];
$VAR2 = [
'e1.ptmp'
];
$VAR3 = [
's2.ptmp'
];
$VAR4 = [
'sw1.ptmp'
];
$VAR5 = [
'w1.ptmp'
];
我想要一种将所有域提取到单个数组(无引用)的方法,或者是否有一个 DBI 函数可以返回完整的数据数组而没有任何引用?我不想遍历所有数据或在 while 循环中执行 fetchrow_array。如果可能的话,正在寻找一个单一的语句来完成这一切吗?
请看我下面的代码:
my @mysqldata = $dbh->selectall_array('SELECT `domain` FROM dfs WHERE `id` IN ('.join(',',('?')x(scalar(@params))).')', {}, @params);
my @minus = array_minus( @all, @mysqldata );
【问题讨论】: