gpt4 book ai didi

mysql - 如果表中存在两列则更新表,如果两列之一不同则插入

转载 作者:行者123 更新时间:2023-11-29 03:48:04 25 4
gpt4 key购买 nike

我有一台台式电脑,它有以下列:

computer(computer_id(pk), office_id, computer_name, login, date, time)

我正在尝试创建一个 mysql 语句,如果 office_idcomputer_name 已经存在,它将更新一行,如果不存在,将插入一个新行。如果 office_id 不同但 computer_name 已经存在,我仍想插入一个新行,反之亦然。如果有人可以给我一些建议。我将不胜感激。

最佳答案

您可以使用 mysql 的 on duplicate key update 功能来完成此操作。

假设您对 (computer_name, office_id) 有一个唯一约束,下面的查询将为新的 (computer_name, office_id) 对插入一个新行,否则更新现有行:

insert into computer (office_id, computer_name, login, `date`, `time`) values
(..., ..., ..., ..., ...)
on duplicate key update login = values(login), `date` = values(`date`);
^^^^^^^^^^^^^^^^^^^^^ here is how you specify which values to update

see it in action here

关于mysql - 如果表中存在两列则更新表,如果两列之一不同则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634336/

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