PDO 像 %TIME 一样更新 DATETIME

PDO update DATETIME like %TIME

我正在尝试更新日期时间类型类似于时间但日期可以不同的行。

伪代码:
像 %time

这样更新 startTime 的地方

2019-03-0310:53:33(待更新)
2019-03-03 12:01:23
2019-03-04 10:53:33(待更新)

$startTime = '%10:53:33';

$stmt = $dbh->prepare("UPDATE `table` SET `foo` = '0' WHERE `startTime` LIKE :st ");
$stmt->bindParam(':st', $startTime);
$stmt->execute();

编辑:删除了 strtotime 评论

是否可行或者我应该寻找其他解决方案?如果可行,方法是什么?

假设 startTime 列实际上是一个日期时间,您应该使用 TIME() 函数来提取时间部分:

$startTime = '10:53:33';
$stmt = $dbh->prepare("UPDATE `table` SET `foo` = '0' WHERE TIME(startTime) = :st ");
$stmt->bindParam(':st', $startTime);
$stmt->execute();

所以,我认为您不需要在这里使用 LIKE,这也不适合日期时间。