gpt4 book ai didi

mysql - 删除 ID 最低的条目

转载 作者:行者123 更新时间:2023-11-29 04:36:04 26 4
gpt4 key购买 nike

我只想删除 ID 最小的行。

我正在尝试这个:

$query = 'DELETE FROM PATH\TO\ENTITY ORDER BY id ASC LIMIT 1';
$query = $this->entityManager->createQuery($query);
$query->execute();

出现这个错误:

[Syntax Error] line 0, col 53: Error: Expected end of string, got 'BY'

也许我使用了错误的方法。关于如何在一次数据库调用中删除 ID 最低的条目有什么建议吗?

最佳答案

正如 Kwido 所说,您错过了实体别名。但是查询仍然无法执行。

首先,DQL 不支持LIMIT 表达式。它是 MySQL 特有的功能,不是 ANSI SQL。其他平台驱动程序对此行为有自己的实现,所有这些都由公共(public)接口(interface)提供:setFirstResult()/setMaxResult() 查询对象。

其次,DQL 不支持带有ORDER BY 子句的DELETE(参见语言EBNF)。它也是非标准特性,但不能为其他驱动程序实现,所以 Doctrine 不允许它。

如果您需要执行此查询,则必须使用 native SQL。

关于mysql - 删除 ID 最低的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com