每当我做一个SELECT
语句WHERE id is NULL
紧跟在INSERT
之后时,我得到最后插入的行。查询IS NULL时MySQL返回的最后一个插入
我正在使用MySQL 5.1.73。
它直接发生在MySQL shell中;这里是我的控制台:
mysql> CREATE TABLE testing (
-> id int(11) NOT NULL AUTO_INCREMENT,
-> name VARCHAR(200),
-> PRIMARY KEY (id)
->) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.03 sec)
mysql> INSERT INTO testing (name) VALUES ('test');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM testing WHERE id IS NULL;
+----+------+
| id | name |
+----+------+
| 1 | test |
+----+------+
1 row in set (0.01 sec)
谁能告诉我这里发生了什么事吗?这是一个错误还是我错过了一个设置?
在猜测,也许它这样做,因为这是如何实现“最后插入的ID”功能? – Hammerite
我认为问题是'$ query-> closeCursor();' – Saty
@Saty删除closeCursor仍然会导致相同的结果。 – swordbeta