【问题标题】:Perl: Using DBI placeholders for ORDER BY clausePerl:对 ORDER BY 子句使用 DBI 占位符
【发布时间】:2010-12-24 03:59:23
【问题描述】:

我可以在查询的 order by 子句的预准备语句中使用占位符吗?

我猜不是,因为我试过了,它似乎没有工作,但它也没有抛出任何错误,这看起来很奇怪。

除了使用经过验证的输入生成 SQL 字符串之外,还有更好的方法吗?

【问题讨论】:

    标签: perl prepared-statement dbi


    【解决方案1】:

    不,您不能在列名中使用占位符。来自DBI manual

    对于大多数驱动程序,占位符不能用于会阻止数据库服务器验证语句并为其创建查询执行计划的语句的任何元素。

    但是你仍然可以在 perl 中构造查询。在这种情况下,使用quote_identifier 方法来引用列名。

    【讨论】:

    • 不要在 Perl 中排序。数据库可以做得更好。
    • @friedo:感谢您的提示。我已经删除了那部分
    猜你喜欢
    • 2015-08-07
    • 2012-12-22
    • 2017-05-20
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    相关资源
    最近更新 更多