MySQL 自動インクリメント フィールド、自動インクリメント フィールド カウンタは、ハードディスクではなくメイン ストレージにあります (このカウンタはディスクではなくメイン メモリにのみ保存されます)。
1. テーブルを追加し、自動インクリメントの主キー フィールドを設定します
create table t(id int primary key auto_increment, name varchar(3000)) engine=innodb;
2. システムに自動インクリメントをさせることも、入力の自動インクリメントを手動で設定することもできます。
insert into t select 4, 'a44'; insert into t(name) select 'a8';
3. 現在のテーブルの自動インクリメント値をクエリします
SELECT MAX(id) FROM t FOR UPDATE;
4. 設定した自動インクリメント値が現在の最大自動インクリメント値を超える場合、自動インクリメント値は次のようになります。設定した自動インクリメント値に基づいて。例:
SELECT MAX(id) FROM t FOR UPDATE; 結果の値は 4 で、t select 9, 'a44' に挿入します。このとき、MAX(id) は 9 です。自動インクリメントされる値は 5 ではなく 16 です。もちろん、ステートメント insert into t select 5, 'a44'; を実行すると、成功します。
5
innodb_autoinc_lock_made
[mysqld] innodb_autoinc_lock_mode = 0
7.1 自分で値を挿入する
7.2 mysql関数LAST_INSERT_ID();
を呼び出す
りー
ps: ここでの値は 0 です。最後の挿入が入力された値であり、この関数が呼び出されなかったためです。そのため、初期値は 0 からですが、テーブルへの通常の挿入値には影響しません。
CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上記は、自動追加フィールド auto_commit の調査と分析の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。