gpt4 book ai didi

MySQL 插入和重复键查询未更新

转载 作者:行者123 更新时间:2023-11-29 12:48:52 24 4
gpt4 key购买 nike

插入之前我的表(表名称为 ds_answer)

===============================================================================

answer_id | member_id | question_id | msgstr | type | tstamp

===============================================================================
50 2 176 aaaa show 2014-07-27 12:11:12
51 2 177 bbbb show 2014-07-27 12:12:23
52 2 180 cccc show 2014-07-27 12:12:50
===============================================================================

查询命令::

INSERT INTO `ds_answer` (`member_id`, `question_id` , `msgstr` , `type`)
VALUES ('2', '180' , 'dddssds' , 'show' )
ON DUPLICATE KEY UPDATE msgstr = 'dddssds'

它不工作。 MySQL 每次都会添加行。但它没有更新answer_id = 52中的msgstr列。

如何解决这个问题?

最佳答案

为了使ON DUPLICATE KEY UPDATE起作用,必须有一个唯一的键(索引)来触发它。在应触发ON DUPLICATE KEY UPDATE的列上创建唯一键。

根据示例插入语句,您似乎想要在以下位置建立多列唯一索引:(member_id, Question_id)

类似这样的事情:

ALTER TABLE ds_answer
ADD UNIQUE INDEX `ui_member_question` (member_id, question_id);

关于MySQL 插入和重复键查询未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25042312/

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