gpt4 book ai didi

php - MySQL - 如果存在则更新否则用两个键插入

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

我有一个包含字段 foreign_key_id | 的表值 1 | value2,如果 foreign_key_id 和 value1 匹配,我想更新 value2。

如果 foreign_key_id 或 value1 不存在,我想插入一个新行。有比让 PHP 使用 select 语句然后分支到更新或插入更好的方法吗?

编辑:value2 可以和数据库中的值相同,所以我无法运行和更新,查看 affected_rows 是否为 0,如果是则运行和插入。

最佳答案

尝试使用 IF EXISTS 来确定是执行 UPDATE 还是 INSERT 语句。您可以在一个 PHP 语句/查询中执行此操作。

IF EXISTS(SELECT 1 FROM Mytable WHERE foreign_key_id = f1 AND value1 = v1)
BEGIN
UPDATE Mytable SET value2 = v2
WHERE foreign_key_id = f1 AND value1 = v1;
END
ELSE
BEGIN
INSERT INTO Mytable(foreign_key_id,value1,value2)
VALUES (f1,v1,v2);
END IF;

关于php - MySQL - 如果存在则更新否则用两个键插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168822/

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