我想要删除日期最长的行,但我正在使用的表没有自动增加ID,而是有多个具有相同ID的行,但每行都有不同的信息
我想删除最高日期,因为这也是使用该ID插入的最后日期,因此我想使用MAX,否则我将删除具有该ID的所有行。
现在我正在尝试(这是我的PHP文件中的查询):
DELETE FROM onderhoudsLog
WHERE systeemContractID = :systeemContractID
AND startDatum = MAX(:startDatum)
DELETE不起作用。
这是我的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,
));
}
答案 0 :(得分:2)
按日期订购数据并仅删除第一条记录
DELETE FROM onderhoudsLog
WHERE systeemContractID = :systeemContractID
ORDER BY startDatum DESC
LIMIT 1