私はユーザとデータベースを作りました。各ユーザは、自動インクリメントされたIDを持っています。しかし、私はテーブルからユーザーを削除すると、idが「リセット」されていません。MySQLテーブルのidを "リセット"する方法
私はこの問題を解決するにはどうすればよいですか?ありがとう
私はユーザとデータベースを作りました。各ユーザは、自動インクリメントされたIDを持っています。しかし、私はテーブルからユーザーを削除すると、idが「リセット」されていません。MySQLテーブルのidを "リセット"する方法
私はこの問題を解決するにはどうすればよいですか?ありがとう
これは修正しないでください。データベースは、正確にはとなっています。 AUTO_INCREMENT
上documentationの最初の行が言うように:
AUTO_INCREMENT属性は、新しい行を一意に識別 を生成するために使用することができます。 。 。
注:連続性やギャップのないことはありません。
自動インクリメント値は、(特に)各行を一意に識別するように設計されています。行が特定されると、それは変更されません。この識別子は、他のテーブル(外部キー参照)によって使用される可能性があります。この識別子は誰かがID = 378が特別なものを持っていたことを覚えておくために書き留めることができます。
重要なアイデアは、値が時間とともに変化しないことです。
このような識別子には問題はありません。あなたがしたい場合
最初に私はあなたが使用しているアプリケーションを知る必要があります は、phpmyadminクライアントアプリケーションまたはmysqlデータベースサーバーです!
あなたはphpMyAdminのを使用している場合、これはテーブルからすべての値をクリアするには ステップ従います
1. go on your phpmyadmin
2. select database
3. select table
4. go on operations
5. scroll and find [Empty the table (TRUNCATE)]
6. click on it.
それはその後、SQLクエリを使用して値を追加し、データベースからすべての値をクリアします。
あなたがして次の使用可能な値に自動インクリメントカウンタをリセットすることができます。
alter table MYTABLE auto_increment = 0;
は、あなたが更新クエリを実行する必要がhttps://dev.mysql.com/doc/refman/5.7/en/alter-table.html
も参照してください。
SET @reset = 0; UPDATE YOUR_TABLE_NAME SET id = @reset:= @reset + 1;
これは、テーブルをTRUNCATEしない限り、設計通りです。これは異常です – mayersdesign