gpt4 book ai didi

mysql - INSERT INTO .. ON DUPLICATE KEY UPDATE with multiple keys

转载 作者:行者123 更新时间:2023-11-29 04:37:23 24 4
gpt4 key购买 nike

我有这个表格,其中包含以下列:

id
userid
app
field
value

列“field”和“app”对于“userid”来说是唯一的。因此,用户将始终只有 1 行具有相同的“app”和“field”值。但是他们将有不止一行只有“app”值相同或只有“field”值相同。并且总会有多个行具有相同的“userid”。

我不确定如何插入或更新多个键。我无法在 mysql 中将它们设置为唯一,因为该值可用于其他“userid”行或其他具有不同“app”或“field”值的行。

这是否可能,或者我必须先执行 SELECT 以检查是否存在“userid”、“app”和“field”与我要插入或更新的内容匹配的行。

此外,我正在尝试使用单个查询插入/更新多于 1 行。

最佳答案

首先在(user_id, app, field)上创建一个唯一索引。

ALTER TABLE user_settings
ADD UNIQUE (userid,app,field);

然后使用这样的查询。

INSERT INTO user_settings SET
-- id = ?, Do not include this -- you don't have the value
userid = ?,
app=?,
field=?,
value = ?,
ON DUPLICATE KEY UPDATE
value = ?;

关于mysql - INSERT INTO .. ON DUPLICATE KEY UPDATE with multiple keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050967/

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