我想在一段时间内更新/替换两列的值。MySQL - 替换列值
UPDATE table_messages SET id_msg = 4, numbers_msg = 50;
和:
INSERT INTO table_messages (number_msg, id_msg) VALUES (50, 4);
MySQL表示:#1062 - 重复录入 '4' 键 'PRIMARY'
都没有工作,有什么问题呢? 任何其他命令?
我想在一段时间内更新/替换两列的值。MySQL - 替换列值
UPDATE table_messages SET id_msg = 4, numbers_msg = 50;
和:
INSERT INTO table_messages (number_msg, id_msg) VALUES (50, 4);
MySQL表示:#1062 - 重复录入 '4' 键 'PRIMARY'
都没有工作,有什么问题呢? 任何其他命令?
您的id_msg
不能被复制,因为它的primary key
。你可能有兴趣更新numbers_msg
。
这样的:
UPDATE table_messages SET numbers_msg = 50 WHERE id_msg = 4 ;
或者:
删除旧id_msg = 4,然后用你的查询。
INSERT INTO table_messages (number_msg, id_msg) VALUES (50, 4);
谢谢,很好的回答 – ITSolution
你欢迎:)。 –
听起来好像'id_msg'是你的主键。这意味着价值必须是“独特”的。 – sgeddes
你有id_msg 一个主键,以便阅读本 http://stackoverflow.com/questions/812437/mysql-ignore-insert-error-duplicate-entry – volkinc
都报道该消息?如果是这样,那么在更新之前已经有一个id_msg = 4。如果更新失败,它解释了为什么插入失败,因为系统中已有4个。 – xQbert