mysql_insert_id返回奇数?

时间:2013-07-19 11:48:22

标签: php mysql

我知道它已经贬值,而且通常不是很好的做法。但是这个命令: mysql_insert_id 由于某种原因返回了这个奇怪的数字。它以前从未做过。

我无法在任何地方找到这个号码的参考。例如,我刚刚在id:2中插入了一条记录,它给了我1587的数字。

从哪里获得?

我不得不求助于反向查询数据库,并使用我刚刚从中取出的确切值来获取ID。但这毫无意义。

修改 对不起,如果我没有解释这个;但它只是一个标准的插入声明:

INSERT INTO `job` (`subject`,`deadline`,`status`) VALUES ('$title','3454354','CREATED');

自动增量在PK上,称为'id'。

字段id导致设置为2,但mysql_insert_id返回奇数。 我运行了一个表状态,它显示auto_increment符合预期。我这次没有插入任何其他东西。我插入后直接Literraly我正在查询最后插入的ID。

2 个答案:

答案 0 :(得分:0)

在插入前检查AUTOINCREMENT col,在

之后检查
SHOW TABLE STATUS FROM `db_name` WHERE NAME='col_name';

编辑: 如果你有一个很大的起始编号,你可以在“创建表格”中看到。

也许你在这张桌子上有触发器?

答案 1 :(得分:0)

手册说mysql_insert_id返回:

  

上一次查询为AUTO_INCREMENT列生成的ID   success,如果前一个查询没有生成,则为0   AUTO_INCREMENT值,如果没有建立MySQL连接,则为FALSE。

你有自动增量吗?