Archive for the ‘ MySQL ’ Category

[MySQL]Primary Key IS NONEでSELECTした場合の挙動について

はまったので、メモっておく。
同一セッション内で、INSERTしたあとにPK IS NULLでSELECTすると、最後にINSERTした値が返ってくる。

mysql> CREATE TABLE test_test(id int(11) NOT NULL auto_increment, name varchar(50), PRIMARY KEY (id));
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO test_test(name) VALUES('hogehoge');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM test_test WHERE id IS NULL;
+----+----------+
| id | name     |
+----+----------+
|  1 | hogehoge |
+----+----------+
1 row in set (0.00 sec)

ちなみに以下を発行すると、上記機能は無効になる。

set sql_auto_is_null = 0;

参考URL

Popularity: 4% [?]

  • Digg
  • Google Bookmarks
  • Google Reader
  • Facebook
  • Delicious
  • FriendFeed
  • Evernote
  • Twitter
  • Share/Bookmark