gpt4 book ai didi

mysql,首先检查是否存在,或者只是尝试更新?

转载 作者:行者123 更新时间:2023-11-29 06:53:02 27 4
gpt4 key购买 nike

目前,当用户单击我网站上的通知时,我会先检查它是否存在,然后再将其设置为已读。这很浪费吗?如果我只是进行更新查询会有任何问题吗?

现在:

$check_note = $dbl->run("SELECT 1 FROM `user_notifications` WHERE `id` = ? AND `owner_id` = ?", array((int) $_GET['clear_note'], (int) $_SESSION['user_id']))->fetchOne();
if ($check_note)
{
// they have seen it and when they saw it
$dbl->run("UPDATE `user_notifications` SET `seen` = 1, `seen_date` = ? WHERE `id` = ?", array(core::$date, (int) $_GET['clear_note']));
}

这样做会更好吗?

$dbl->run("UPDATE `user_notifications` SET `seen` = 1, `seen_date` = ? WHERE `id` = ? AND `owner_id` = ?", array(core::$date, (int) $_GET['clear_note'], (int) $_SESSION['user_id']));

最佳答案

只需进行更新即可。如果没有任何内容与 WHERE 条件匹配,它将不会执行任何操作。数据库在 UPDATE 期间必须做与在 SELECT 中一样多的工作来测试条件,因此您不会为它节省任何工作,而是只是做了一个额外的、冗余的查询。

关于mysql,首先检查是否存在,或者只是尝试更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737398/

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