我也很关心这个问题,我想问一下,这样select出来的值对于多个访问用户是否会出问题?
比如会不会把别人insert的id给select出来了?

解决方案 »

  1.   

    另外,这个last_insert_id()返回的值可否指定某个表?某个会话insert的?
      

  2.   

    使用  LAST_INSERT_ID()它只会返回当前连接会话前一条插入所引起的自增字段值不会受其它用户连接影响
      

  3.   

    select count(*) from table_name;
    可以返回记录数
      

  4.   

    借帖
    看到上面的帖子,让我想起一个问题,本人用MySQL C API从一个表的auto_increment列中取得自增号(ID),我用一个字符指针取得的,可是显示出来却是一长串的整型数字,不同于实际的ID值,而且每次显示的结果都不一样,上下列的差别都是40,而不是1,我很奇怪,哪位能帮我解答,另外如何开帖? 先谢了。
      

  5.   

    我试了LAST_INSERT_ID(),总是返回零,是不是因为我用的不是ODBC连接方式?"一个常见的问题是怎样得到一个自动从一个INSERT产生的ID值,用ODBC,你可以这样做(假定auto是一个AUTO_INCREMENT字段):INSERT INTO foo (auto,text) VALUES(NULL,'text');
    SELECT LAST_INSERT_ID();或,如果你是只是想把ID插入到另外一个表中,你可以这样做:INSERT INTO foo (auto,text) VALUES(NULL,'text');
    INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');得益于一些ODBC应用程序(至少Delphi和Access),下列查询可被用来找出最新插入的行:SELECT * FROM tbl_name WHERE auto IS NULL;"
      

  6.   

    TO bjzhanghao(八进制)  
    那是 MySQL 的标准解释,
    你的语句与结果呢??
      

  7.   

    小弟今天也遇到相同的问题
    从贵贴里得到不少帮助
    谢谢各位大侠^&^