如何使用一个查询更新MySQL中的多行?我之前已经问过,但我不知道如何使用CASE表达式。
我目前有这个:
$sql = "UPDATE " . $DBtable . " SET clicks = clicks + 1 WHERE id= :id";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
如何在同一查询中添加时间戳:
// Add timestamp
$date = new DateTime();
$now = $date->format('Y-m-d H:i:s');
"UPDATE " . $DBtable . " SET dl_time = ". $now . " WHERE id= :id";
dl_time
是该列的名称。
答案 0 :(得分:0)
您可以在update
中设置多个列:
UPDATE " . $DBtable . "
SET clicks = clicks + 1,
dl_time = now()
WHERE id= :id;
请注意,有一个set
子句,其中的分配以逗号分隔。
请注意,此版本使用数据库时间而不是应用程序时间。除非您特别需要应用程序时间,否则数据库时间会使行更加一致。