
关键的问题是在userid重复的时候你希望如何处理?
如果重复了不做处理,那就直接插入,失败了就算了。
如果重复了就修改,那么把插入语句的INSERT改为REPLACE,这样系统自动检查是否重复,重复的就做UPDATE,无重复就新插入。
具体是否有必要先进行检查,这看你的实际情况,如果实际一般都不会遇到重复,那么插入前检查就显得很多余。
如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:
复制代码 代码如下:
INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163com', '99999', '9999');
这样当有重复记录就会忽略,执行后返回数字0
还有个应用就是复制表,避免重复记录:
复制代码 代码如下:
INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`;
以上就是关于mysql设置了unique是先查询在插入还是插入后看数据库错误是否错误再更新全部的内容,包括:mysql设置了unique是先查询在插入还是插入后看数据库错误是否错误再更新、Mysql中 unique列插入重复值该怎么解决、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)