超级简单但又奇怪的SQL问题,是SQL的BUG么?有人遇到过么? 如果ID在A表中是唯一的,且你是A表中新记录生成之后再取得ID然后写入B表的话,B表中是不会出现相同ID的记录的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果ID在A表中是唯一的,且你是A表中新记录生成之后再取得ID然后写入B表的话,B表中是不会出现相同ID的记录的。========问题是,几万次操作中,总会有一,二次有这样的情况,所以我才感觉很奇怪 就是并发造成的,如果要排除这种问题,只有trigger能帮你 那就再B表中给AID加一个唯一索引,这样又重复的话就会报错了,你就可以捕捉到错误了。 说并发引起的, 并不赞同。如果是在A表中新记录创建生成之后去取这个ID的话,再并发也不可能会两个程序取到同一个ID的,否则A表的ID字段唯一性就出问题了。楼主检查一下你代码的执行逻辑吧,估计你在取A表新记录ID的时机上有问题。 这个可能是由于插入操作是在程序里完成的,比如程序先读到A表最后的ID,再行插入B表,遇到这种情况最好还是由数据库来完成 wangdehao(找找找(现在很幸福)) ( ) 信誉:100 Blog 加为好友 2007-04-12 13:23:27 得分: 0 程序应该没问题的,实在想不通是什么原因~!!!!!!!!--------------------程序的问题 up sql server 2005中如何获得某个表的所有索引及约束的名称及内容 sql 行转列问题 case when 条件不确定 问个游标问题 请教一个SQL语句问题. SQL查询帮助~~~~ 用存储过程如何实现这个问题(详见内容。急急急!!!) 在sql2000中有没有好的调试触发器的工具,是什么? ~~~~~~~~~~~表名的位置可以用变量代替吗? 请各位大哥帮帮忙! wwwwwwwwwwwwwww 求触发器: 触发器通知发IP包给应用程序 (急,急,急................. sql还原错误,报媒体家族结构不正确.是在怎么回事呢?
========问题是,几万次操作中,总会有一,二次有这样的情况,所以我才感觉很奇怪
如果是在A表中新记录创建生成之后去取这个ID的话,再并发也不可能会两个程序取到同一个ID的,否则A表的ID字段唯一性就出问题了。
楼主检查一下你代码的执行逻辑吧,估计你在取A表新记录ID的时机上有问题。
程序应该没问题的,实在想不通是什么原因~!!!!!!!!
--------------------
程序的问题
up