gpt4 book ai didi

Mysql:如果行不存在则插入,否则更新..有更简单的命令吗?

转载 作者:可可西里 更新时间:2023-11-01 06:41:58 25 4
gpt4 key购买 nike

学习Mysql,问题一大堆...

我可以通过简单的方式达到预期的效果:

$mysqli->query("INSERT results SET user_id = '".$user_data[0]['user_id']."', logo_id = '".$mysqli->real_escape_string($_GET['logo_id'])."'");
$mysqli->query("UPDATE results SET result_tries = result_tries +1 WHERE logo_id = '".$mysqli->real_escape_string($_GET['logo_id'])."' AND user_id = '".$user_data[0]['user_id']."'");

我对表进行了 DB unique check,因此 logo_id 和 user_id 应该是唯一的。因此,如果行存在,第一个查询失败,然后执行第二个更新...,但这感觉有点乱...有没有更好的方法来做到这一点?

最佳答案

尝试

$user_id = $user_data[0]['user_id'];
$logo_id = $mysqli->real_escape_string($_GET['logo_id']);

$sql = "INSERT INTO results (user_id, logo_id, result_tries)
VALUES ('$user_id', '$logo_id', 0)
ON DUPLICATE KEY UPDATE result_tries = result_tries + 1";

$mysqli->query($sql);

关于Mysql:如果行不存在则插入,否则更新..有更简单的命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287398/

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