首页 新闻 会员 周边

SQL 语句

0
悬赏园豆:50 [已关闭问题]

新插入的一条新数据,是否可以保证其中一个字段(非主键)在数据库中不重复;

有什么好的办法?

 

问题补充: 这值是在某一条件内不重复
WandererNet的主页 WandererNet | 初学一级 | 园豆:140
提问于:2009-10-16 21:36
< >
分享
其他回答(3)
0

主键可以

  entity.Id = Guid.NewGuid();

 

id  为主键

rjzou | 园豆:478 (菜鸟二级) | 2009-10-17 00:03
当然不是主键了,是的话就不用考虑了
支持(0) 反对(0) WandererNet | 园豆:140 (初学一级) | 2009-10-31 13:41
0

1. 如果该字段的值是由用户输入的话,你可以在插入数据之前,用Select语句判断一下用户输入的值在数据库中有没有存在,没有的时候才插入

2. 如果该字段的值是由系统产生的话,那你就可以用楼上所说的NEW一个GUID或者自己想一个算法生成一个不会重复的值。例如:使用当前系统的时间,精确到毫秒或者微妙之类的。

四眼蒙面侠 | 园豆:504 (小虾三级) | 2009-10-17 02:50
Select语句判断,要是两个或者更多的人同时Select,然后插入,不是还有问题. 该字段的值不是由系统产生,是可控的
支持(0) 反对(0) WandererNet | 园豆:140 (初学一级) | 2009-10-31 13:42
0

如果是要达到不允许插入重复记录的效果,可以在该字段上建立唯一索引。

如果是要每次插入数据在该字段上不重复,可以将该字段设为自动增长型字段。

虚假真人 | 园豆:210 (菜鸟二级) | 2009-10-18 22:27
建立唯一索引,不行的
支持(0) 反对(0) WandererNet | 园豆:140 (初学一级) | 2009-10-31 13:43
0

写TSQL语句,就是在插入时做一些判断(对于用户提交的数据),如果是系统自动生成的,为了避免重复,可以使用时间加几位随机码来解决,也可以用GUID来解决。

金鱼 | 园豆:1090 (小虾三级) | 2009-10-19 22:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册