设计的数据库主键为varchar2(50)
用max取最大值然后+1
但到99后能够插进100
然后每一次用
select max(id) from a
后取出的都是99
我想知道为什么?
怎么改下.
用oracle8i
开发环境vs2003;

解决方案 »

  1.   


    --应该是字符型的100要比99小,手头没有环境没办法测试,你自己测试一下把
    --不过建议你讲varchar2类型改成number 肯定是没有问题的
      

  2.   

    经常看到初学者使用这种方式生成主键,
    这样生成主键的方式存在并发问题,最好使用oracle序列!!!