gpt4 book ai didi

mysql - 如果我有重复的 'WHERE' 字段,如何更新 MySQL 条目?

转载 作者:行者123 更新时间:2023-11-29 08:21:20 24 4
gpt4 key购买 nike

我有一个包含两个字段的表 - userId 和某些内容

我有这个查询:

INSERT INTO users VALUES ('$userId', '$something')
ON DUPLICATE KEY UPDATE something='$something'
WHERE userId='$userId'

为什么这不起作用?如果我删除

WHERE userId='$userId' 

然后它可以工作,但它会更新所有行,而且我显然不想为每个 userId 更新相同的信息。

userId字段在数据库中设置为 UNIQUE。

最佳答案

它不起作用,因为您的语法错误。

正确的语法如下:

INSERT INTO yourTable (col1, col2, ...)
VALUES (value1, value2, ...)
ON DUPLICATE KEY UPDATE non_key_col1 = newValue1;

不涉及任何WHERE

请阅读MySQL reference for insert... on duplicate key update .

<小时/>

引用我上面提供的链接:

If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, MySQL performs an UPDATE of the old row.

关于mysql - 如果我有重复的 'WHERE' 字段,如何更新 MySQL 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306321/

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