关于on duplicate key update中的这个用法

胖到没有朋友 2020-04-30 09:24:05
这个用法我看到的别人说的是主键或唯一索引存在则覆盖,那么要是主键和唯一索引都存在会怎么样?
...全文
450 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果表中只有唯一索引 则会根据唯一索引判重进行更新;
如果表中包含除主键外的唯一索引,会根据主键来判重;
主键其实是一种特殊的唯一索引

CREATE TABLE `a` (
`a` int(11) DEFAULT NULL,
UNIQUE KEY `uk_a` (`a`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `jxly`.`a`(`a`) VALUES (2);


INSERT INTO a (a)
VALUES (1)
ON DUPLICATE KEY UPDATE
a= 2;
  • 打赏
  • 举报
回复
自己操作一把不见知道了吗

56,912

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧