设计的数据库主键为varchar2(50)
用max取最大值然后+1
但到99后能够插进100
然后每一次用
select max(id) from a
后取出的都是99
我想知道为什么?
怎么改下.
用oracle8i
开发环境vs2003;
用max取最大值然后+1
但到99后能够插进100
然后每一次用
select max(id) from a
后取出的都是99
我想知道为什么?
怎么改下.
用oracle8i
开发环境vs2003;
--应该是字符型的100要比99小,手头没有环境没办法测试,你自己测试一下把
--不过建议你讲varchar2类型改成number 肯定是没有问题的
这样生成主键的方式存在并发问题,最好使用oracle序列!!!