【发布时间】:2018-07-15 09:58:25
【问题描述】:
我想删除日期最高的行,但我正在使用的表没有自动递增 ID,而是它有多个具有相同 ID 的行,但每行都有不同的信息。
我想删除最高日期,因为这也是使用该 ID 插入的最后一个日期,这就是我要使用 MAX 的原因,否则我将删除所有具有该 ID 的行。
现在我正在尝试(这是我的 PHP 文件中的查询):
DELETE FROM onderhoudsLog
WHERE systeemContractID = :systeemContractID
AND startDatum = MAX(:startDatum)
删除不起作用。
这是我的 PHP 函数:
function onderhoud($id, $startDatum){
$query = "DELETE FROM onderhoudsLog WHERE systeemContractID = :id AND startDatum = MAX(:startDatum");
$q = $this->DB->prepare($query);
$q->execute(Array(
':id' => $id,
':startDatum' => $startDatum,
));
}
【问题讨论】:
-
这看起来像是您在 PHP 中使用的查询。所以请显示 PHP 以及原始查询。查询可能没问题,但你绑定参数的方式可能是错误的
-
尝试使用子查询返回max startDatum
-
@RiggsFolly 我添加了我的 PHP 函数
-
也许你应该从阅读MAX() function的手册开始