gpt4 book ai didi

php - 如果记录已存在 MySQL 则插入或更新

转载 作者:行者123 更新时间:2023-11-29 23:20:57 25 4
gpt4 key购买 nike

我需要编写一个 MySQL 查询来插入或更新某些字段。我见过关于ON DUPLICATE KEY,但我的字段不是PRIMARY KEYUNIQUE,只有组合是唯一的。这是字段列表:

ID (PRIMARY KEY AUTOINCREMENT BIGINT), user (BIGINT), creator (BIGINT), type (TINYINT), value (BIGINT), date (INT), readed (TINYINT), erased (TINYINT).

表名称是通知(如果有用的话)。如果用户、创建者、类型、值与要插入的值都相同(就像 AND),我需要插入一条新记录或更新现有记录。我怎样才能做到这一点?

最佳答案

您可以在变量上创建唯一索引。我不确定哪些是有问题的变量,但这里有一个例子:

create unique index idx_table_user_creator_type on table(user, creator, type)

您也可以在create table 语句中使用unique 约束的语法来执行此操作。

然后您可以将约束用作:

insert into table(user, creator, type, col1, . . .)
values(@user, @creator, @type, . . .)
on duplicate key update col1 = values(col1),
col2 = values(col2),
. . . ;

关于php - 如果记录已存在 MySQL 则插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27305510/

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