2011-11-20 69 views
0

我对此很新颖。反正有没有改变数据库得到最后一个自动增量ID?mysql_insert_id不修改数据库

$check = mysql_insert_id();

我试过MAX(),但它给了几乎相同的结果...

+0

编号'mysql_insert_id()'和mySQL的'LAST_INSERT_ID()'仅适用于当前连接。 –

回答

1

您可以使用以下方法:

SELECT Auto_increment 
FROM information_schema.tables 
WHERE table_name='<your table name>' 
    AND table_schema = DATABASE(); 
0

mysql_insert_id()是正确的方法。 Max()只会返回数据库表的最高id值,但不一定是最新插入的id。你明白?

问候

0

试着这么做:

SELECT id FROM mytable ORDER BY id DESC LIMIT 1 FOR UPDATE 

FOR UPDATE是因为我猜你想与INSERT来跟进。如果是这种情况,请在同一笔交易中进行,我建议您指定一个明确的值作为id而不是依靠AUTOINCREMENT