我用last_insert_id()函数时,不能返回正确的id,返回值总是0,这是怎么回事?我查了一下数据库,数据插入成功了,而且auto_increment显示自动增加了,类型是int,last_insert_id()函数却不能正确获得最新的id,郁闷···
我的查询语句是:select last_insert_id();
请高人指点

解决方案 »

  1.   

    如果你是PHP想获得最后插入记录,可以用PHP函数mysql_insert_id()
      

  2.   

    插入完成之后 echo mysql_insert_id();
    mysql_connect("localhost", "mysql_user", "mysql_password") or
            die("Could not connect: " . mysql_error());
        mysql_select_db("mydb");    mysql_query("INSERT INTO mytable (product) values ('kossu')");
        printf ("Last inserted record has id %d\n", mysql_insert_id());
      

  3.   

    插入语句是多条的吗?如果是多条数据一起写入,而不是循环写入的话,last_insert_id只返回第一条的id
      

  4.   

    用这个mysql_insert_id()
      

  5.   

    用mysql_insert_id()吧 
      

  6.   

    你是否使用的phpmyadmin或者其他的数据库工具如果是的话  我建议你直接用mysql -uroot -p这样的连接方式应该就可以了
      

  7.   

    谢谢大家了,我知道是哪的问题了哈哈,在用last_insert_id()之前,必须有insert语句或update语句,不能单独使用last_insert_id()
      

  8.   

    恩,这个必须要在insert后马上执行,否则,程序无法判断你上次的ID