好像以前有人讨论过了。
似乎依赖于特定的数据库,,,,没有通用SQL;;;

解决方案 »

  1.   

    不知是什么数据库,oracle可以查序列生成器
      

  2.   

    不同的数据库需要使用不同的sql语句取前一条生成记录的id,在db2中是从一个系统表中查询,sql server是一个特殊的sql语句,你可以查dbms相关的文档,一般都有的
      

  3.   

    (1) 先获取一个ID,比如oracle: SELECT IDS.NEXTVAL FROM DUAL;
    (2) 再插入这个ID,INSERT INTO X (ID) VALUES (ID);
    (3) 成功后返回这个ID;就算失败,也只是浪费一个ID而已。