我知道它已经贬值,而且通常不是很好的做法。但是这个命令: 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。
答案 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。
你有自动增量吗?