我有一张表 Create table abc (ID int primary key, A varchar(20), B varchar(20)); 数据库中A和B字段不能重复,也就是比如我插入一条记录 :insert into abc(ID, A, B) values(1, abc123, abc456); 我在插入第二条记录的时候,就不能插入 X>=abc123,或者X <=abc456的数,也就是执行这样一条写入语句就需要报写入重复的错误:insert into abc(ID, A, B) values(1, abc124, abc455); 也就是A和B之间的数都算重复,一条记录可以写这样一条sql语句进行判断:select * from abc where A>=abc123 and A <=abc456 and B>=abc123 abd B <=abc456 不能写入,但是数据库中有10万条记录,这样进行重复判断就显得很慢了,请大家帮忙想一个比较快速的判断写入是否重复的sql语句,谢谢! abc122 abc467算重复吗 不算. 这样。。。那不是插入范围只能越来越小? abc122 abc455算重复吗 这样算重复 就是只能插大的,不能插小的?是吧? 这样也算重复. 还是得请小P梁. 那就是插入的时候A要小于数据库中最小的A,B要大于数据库中最大的B?? A和B之间的数是连续的,B是在A的基础上得来的. 不是,因为写入第二条记录不一定要从数据库中最大的开始连续. 没看懂,多列几条数据 SQL code