扫码关注官方订阅号
头疼怎么把问题删了?
光阴似箭催人老,日月如移越少年。
一个表有多个唯一索引, 是不能使用on duplicate key update的. 按照常识去思考, 我到底得按照哪个唯一索引来决定更新数据.
on duplicate key update
主键 = 唯一索引 + 非空约束唯一索引可以为空(只能有一个空元素)所以主键也是唯一索引.
主键
唯一索引
非空约束
你的原始问题是, on duplicate key update之后, 表的种子值修改了. 但是我试过, 根本不存在你这个问题, MySQL 5.5. 代码参见我的评论. 懒得贴了.而唯一可能出现你那种问题, 就是没有执行update, 而是执行了insert语句. 这种情况, 只在一个表里面有多个唯一索引的情况下出现.如果一个表有多个唯一索引, 是只能使用update语句的.
PS: 你一直在强调我没用过这个东西, 也不贴可以重现的代码.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
一个表有多个唯一索引, 是不能使用
on duplicate key update
的. 按照常识去思考, 我到底得按照哪个唯一索引来决定更新数据.主键
=唯一索引
+非空约束
唯一索引
可以为空(只能有一个空元素)所以
主键
也是唯一索引
.你的原始问题是,
on duplicate key update
之后, 表的种子值修改了. 但是我试过, 根本不存在你这个问题, MySQL 5.5. 代码参见我的评论. 懒得贴了.而唯一可能出现你那种问题, 就是没有执行update, 而是执行了insert语句. 这种情况, 只在一个表里面有多个唯一索引的情况下出现.
如果一个表有多个唯一索引, 是只能使用update语句的.
PS: 你一直在强调我没用过这个东西, 也不贴可以重现的代码.