私はIDを持つテーブルを持っています、このIDは自動インクリメントと主キーです、そのテーブルに初めて挿入したとき、IDは0から始まりますが、そのテーブルからすべての値を削除して再度挿入した後、IDはしません0から開始するのではなく、IDが持っていた最後の値から開始します。何が問題になっていますか?値を0にリセットできますか?
質問する
22076 次
4 に答える
18
次を使用してテーブルを切り捨てることができます
TRUNCATE `table`
切り捨ては、テーブル内のすべてのデータを削除します。TRUNCATE
を使用しても、のようなDELETEトリガーは発生しないことに注意してくださいDELETE
。
または、を使用してカウントをリセットできます
ALTER TABLE `table` AUTO_INCREMENT = 1
ただし、これは予想される動作です。テーブルが本当に空でない限り、後者を実行しないでください。
于 2012-05-25T11:27:17.133 に答える
5
値0の主キーを挿入するには、最初に次の要求を実行します。
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
于 2014-01-07T16:51:46.190 に答える
3
テーブル内のすべての要素を削除しても、主キーには影響しません。主キーは、最後の値から引き続き自動インクリメントされます。
主キーをリセットする場合は、テーブルの切り捨てを試みることができます。
TRUNCATE TABLE yourtable;
これにより、テーブルからすべての要素がクリアされます。主キーをリセットするかどうかは、データベースによって異なります。Mysqlを使用すると、MysqlがTRUNCATEでテーブルを削除して再作成するため、機能するはずです。
于 2012-05-25T11:28:48.677 に答える
1
auto_incrementを1から再開するには、TRUNCATEステートメントを使用する必要があります。これは、ブレーキをかけないようにするための通常の動作です。
于 2012-05-25T11:25:01.703 に答える