java怎么避免向数据库重复插入数据,多台服务器下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么避免向数据库重复插入数据,多台服务器下相关的知识,希望对你有一定的参考价值。

参考技术A 数据库层面建立唯一组合约束,插入报错就可以保证了 参考技术B 一方面,可以 通过约束,另一方面insert之前也可以做查询检查是否以重复的行
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

使用insert语句避免向表中插入重复数据

有时向表中插入新记录时,不想插入与指定字段有重复数据的记录。如下表:

序号栏目名
1栏目1

如果使用语句:insert into table(栏目名) values("栏目1"),则会插入重复的栏目名为“栏目1”的记录,这显然不是想要的结果,如下表:

序号栏目名
1栏目1
2栏目1

 

要避免出现这种情况,除了在数据库中创建触发器外,也可以用简单的insert语句:

insert into table(栏目名) select top 1 "栏目1" from table where not exists(select * from table where 栏目名="栏目1")

当table表中已有栏目名为“栏目1”的记录时,where条件语句的限制将避免栏目名为“栏目1”的记录插入表中。

注意:运行该语句时,数据表table不能为空记录。

以上是关于java怎么避免向数据库重复插入数据,多台服务器下的主要内容,如果未能解决你的问题,请参考以下文章

向数据库插入的数据不重复,如何用Java做验证

向数据库里插入大量数据,怎么实现不插入重复的记录

向数据库插入的数据不重复,如何用Java做验证

使用insert语句避免向表中插入重复数据

请教:用Java怎么判断插入数据库里面重复的

redis的主从复制