gpt4 book ai didi

MySQL:INSERT ON DUPLICATE KEY UPDATE 并非所有字段

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

我有一个用户表,如下所示:

id --- name --- email --- gender

id 列既是主键又是唯一键。在这里,我想用新的姓名和电子邮件信息更新行,但不必更改其性别。我尝试使用查询更新表:

INSERT INTO USERS VALUES(id, name, email) ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);

它不起作用并发出警报:

Column count doesn't match value count at row 1

例如,假设我们有一行如下:

id=1 | name='Mike' | email='mike@mike.com' | gender='male'

如何使用重复键更新将名称更改为“Michael”?

id=1 | name='Michael' | email='mike@mike.com' | gender='male'

谢谢。

最佳答案

[更新:适应问题更新]

您的问题已经出现在插入字段中,您只提供了三个值。为此,您需要

INSERT INTO users (id, name, email) 
VALUES (42, "patrick","patrick@home")
ON DUPLICATE KEY UPDATE name="patrick", email="patrick@home";

但是,如果您的程序确实实现了您想要的功能,请务必三思而后行,特别是如果两个传入请求可能获得相同的新 ID。

关于MySQL:INSERT ON DUPLICATE KEY UPDATE 并非所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102950/

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