【发布时间】:2014-06-11 22:30:17
【问题描述】:
Doctrine2 与 Symfony :
$this->get('database_connection')->executeUpdate("DELETE FROM articles
WHERE article_id = :article_id
LIMIT :quantity",
array(
'article_id' => 1,
'quantity' => 2
));
我得到了错误:
执行“删除文章”时发生异常 在哪里 article_id = ?限制 ?'带参数 [1, 2]: SQLSTATE[42000]:
语法错误或访问冲突:1064 您的 SQL 中有错误 句法;检查与您的 MySQL 服务器版本相对应的手册 在第 3 行的 ''2'' 附近使用正确的语法
如何将参数传递给 LIMIT 子句?
我不喜欢使用bindValue 函数,而是使用executeUpdate 函数。
【问题讨论】:
-
也许我不明白您的数据库是如何设置的,但文章 ID 不应该是唯一编号吗?如果是这样,你真的需要极限吗?
-
article_id 不是唯一的。所以是的,我需要限制。
-
如果您打算删除特定数量的行,那么在日期列上使用某种形式的排序不是明智之举吗?
标签: php mysql symfony doctrine-orm