我在Perl中有这个查询:
my $pkg="%";
my $sql = "SELECT pid, CAST(pid as UNSIGNED) AS l FROM xmld ORDER BY l WHERE pkg LIKE ?";
my $files_ref = $dbh->selectcol_arrayref($sql, undef, $pkg);
它崩溃了:
DBD :: mysql :: db selectcol_arrayref failed:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行的'WHERE pkg LIKE'%'附近使用正确的语法...
我一直在看这个陈述几个小时,尝试了各种各样的事情,但没有运气。 那个额外的单引号来自何处以及如何摆脱它?
答案 0 :(得分:6)
order by
追踪where
:
SELECT pid, CAST(pid as UNSIGNED) AS l
FROM xmld
WHERE pkg LIKE ?
ORDER BY l;