我有这个测试表:
CREATE TABLE IF NOT EXISTS `test` ( `id` INT(10) AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4;
使用这三个插入
INSERT INTO `test` (`id`) VALUES (NULL); INSERT INTO `test` (`id`) VALUES (0); INSERT INTO `test` () VALUES ();
并发行
SELECT LAST_INSERT_ID();
但是查询始终会导致0。
0
PHP mysql_insert_id,也PDO::lastInsertId()没有结果。
mysql_insert_id
PDO::lastInsertId()
我整天都在玩弄,无法正常工作。有想法吗?
问题似乎出在MySQL的phpmyadmin配置文件PersistentConnections中FALSE,CONNECTION_ID每次发出查询时都会生成新的phpmyadmin配置文件- 因此使其SELECT LAST_INSERT_ID()无效。
PersistentConnections
FALSE
CONNECTION_ID
SELECT LAST_INSERT_ID()
后续主题中的更多信息每个查询都会创建一个新的CONNECTION_ID()
也感谢dnagirl的帮助