mysql中,如何获得刚插入一条记录的ID号,系统需要刚插入记录的Id做一些处理,我使用的表的id是自增的,类型为integer (not null,auto inc,unsigned),使用了SELECT  LAST_INSERT_ID(); 系统自动返回值为:0,急求。

解决方案 »

  1.   

    要先插入才能用SELECT  LAST_INSERT_ID()取得刚插入记录的Id
      

  2.   

    我在windows xp 下运行的mysql
      

  3.   

    我是在插入语句之后,使用的SELECT  LAST_INSERT_ID();发图给你看。。谢谢帮忙看一下了。。
      

  4.   

    恩图的地址发给你:http://1813.img.pp.sohu.com.cn/images/2009/5/12/9/7/121de2e19d0g214.jpg
    肯定是自增的,如果不是自增就插入不进去
      

  5.   

    SHOW CREATE TABLE 你的表名
    贴结果
      

  6.   

    CREATE TABLE `user_privilege` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `lanmu` varchar(45) NOT NULL default '',
      `privilege` varchar(45) NOT NULL default '',
      `valid` tinyint(3) unsigned NOT NULL default '1',
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gb2312
      

  7.   

    CREATE TABLE `user_privilege` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `lanmu` varchar(45) NOT NULL default '',
      `privilege` varchar(45) NOT NULL default '',
      `valid` tinyint(3) unsigned NOT NULL default '1',
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB;
    insert into `user_privilege` (`lanmu`) values(111);
    SELECT  LAST_INSERT_ID()
    结果:1
    连续运行INSERT:结果依次加1 
      

  8.   

    我看看吧,是不是mysql 出现问题了,谢谢
      

  9.   

    你是不是在insert之后又做了什么其它动作?你的SQL语句是什么。否则很难猜测问题发生在哪里。