3

MySQL 5.1.60 を使用しています

そして、「フォルダ」というテーブルがあります

CREATE TABLE `folder` (
`folder_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,  
`parent_id` int(10) unsigned DEFAULT NULL,
`update_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`folder_id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

そして、それに値を挿入します。

INSERT INTO `folder` (`name`) VALUES ('test_name'); 

その直後に選択クエリを実行します

クエリは

SELECT * FROM folder f WHERE f.folder_id IS NULL

しかし、驚くべきことに、実際には最後に挿入された行が返されます (最初の実行時のみ)。

MySQLでこの動作が発生する理由。

4

2 に答える 2

1

「innodb_flush_log_at_trx_commit」システム変数を確認 し、1 に設定してから再試行してください

于 2013-07-17T05:45:30.203 に答える