私の現在の表:(IDがある自動increament)は、新しい行を挿入する際
id | name 1 | spain 2 | canada 4 | england 6 | russia 7 | Brazil 9 | Italy
ID:3,5,8ミス
私が欲しいです新しい行を挿入するときは、に新しい行を挿入し、row id 5
の後には、row id 8
の後に挿入します。
ただし、新しい行を挿入すると、10 | germany
になります。
私の現在の表:(IDがある自動increament)は、新しい行を挿入する際
id | name 1 | spain 2 | canada 4 | england 6 | russia 7 | Brazil 9 | Italy
ID:3,5,8ミス
私が欲しいです新しい行を挿入するときは、に新しい行を挿入し、row id 5
の後には、row id 8
の後に挿入します。
ただし、新しい行を挿入すると、10 | germany
になります。
RDBMSシステムの自動インクリメント列では、削除された行の数値は再利用されません。あなたが説明したように機能を望むなら、列の自動インクリメントをオフにする必要があります。あなたのプログラムは、あなたが記述している方法で挿入する方法を理解しなければなりません。それはもっと多くの仕事です。
MySQL documentationを指定し、次の:あなたはAUTO_INCREMENTカラムに他の値を挿入すると、次の自動的に生成された値を順次に追従するように、列がその値に設定され、シーケンスがリセットされる
最大の列値から。
あなたはinsert文のテキストを提供できますか?
いいえ、私のテーブルは、ユーザーから自動的に挿入および削除されます。 (例えば、投稿ユーザーのテーブルが好きな人) – grizzly
[自動インクリメントスキップ番号](http://stackoverflow.com/questions/17798835/auto-increment-skipping-numbers)を参照してください。これは、通常、 'insert ignore'、' insert ... on duplicate key ... 'などの文を使用すると発生します。 id 3、5、8を次の挿入のIDとして手動で使用することができます。mysqlは自動入力しません。自分で削除した場合は、このIDを再利用しないでください。 – Solarflare
ちょうどそれを乗り越える。 – Strawberry
そのnot http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html – Hosseini