Mysql中 unique列插入重复值该怎么解决

Mysql中 unique列插入重复值该怎么解决,第1张

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

复制代码 代码如下:

INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999')

这样当有重复记录就会忽略,执行后返回数字0

有个应用就是复制表,避免重复记录:

复制代码 代码如下:

INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`

检查一下FORM标签,里面是否有OnSubmit方法,若有,检查点击提交表单时,是否提交了多次,

我以前有次就是这样,onsubmit="check()",<input

type="submit"

...>,然后一点就加了两个记录

这就是自己实现一个ID自增的东西。

比如的你有个公用类专门用来生成后面的数字,所有需要用到的方法都调用这个类的一个方法我们就叫它nextId吧,只要这个方法是线程安全的就可以了。

IdUtils.nextId()

int nextId() {

lock(this){

return this.id++

}

}

应用启动的时候从数据库查询一下id的最大值并设置给工具类的id,让它接着增长就行了。

具体实现看你用什么语言。

请仔细阅读别人回答的是什么意思。想想oracle的sequence的实现,是不是类似?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7439936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存