【问题标题】:Why is this a SQL syntax error?为什么这是 SQL 语法错误?
【发布时间】:2015-02-11 04:52:59
【问题描述】:

我在 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 失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的“WHERE pkg LIKE '%'”附近使用的正确语法...

我一直在看这个声明几个小时,尝试了各种方法,但没有运气。 额外的单引号是从哪里来的,我该如何摆脱它?

【问题讨论】:

  • order bywhere 子句之后。

标签: mysql perl


【解决方案1】:

order bywhere 之后:

SELECT pid, CAST(pid as UNSIGNED) AS l
FROM xmld
WHERE pkg LIKE ?
ORDER BY l;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2013-07-22
    • 2014-07-22
    相关资源
    最近更新 更多