2017-04-08 18 views
0

私はユーザとデータベースを作りました。各ユーザは、自動インクリメントされたIDを持っています。しかし、私はテーブルからユーザーを削除すると、idが「リセット」されていません。MySQLテーブルのidを "リセット"する方法

enter image description here

私はこの問題を解決するにはどうすればよいですか?ありがとう

+1

これは、テーブルをTRUNCATEしない限り、設計通りです。これは異常です – mayersdesign

答えて

1

これは修正しないでください。データベースは、正確にはとなっています。 AUTO_INCREMENTdocumentationの最初の行が言うように:

AUTO_INCREMENT属性は、新しい行を一意に識別 を生成するために使用することができます。 。 。

注:連続性やギャップのないことはありません。

自動インクリメント値は、(特に)各行を一意に識別するように設計されています。行が特定されると、それは変更されません。この識別子は、他のテーブル(外部キー参照)によって使用される可能性があります。この識別子は誰かがID = 378が特別なものを持っていたことを覚えておくために書き留めることができます。

重要なアイデアは、値が時間とともに変化しないことです。

このような識別子には問題はありません。あなたがしたい場合

0

最初に私はあなたが使用しているアプリケーションを知る必要があります は、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クエリを使用して値を追加し、データベースからすべての値をクリアします。

2

も参照してください。

SET @reset = 0; UPDATE YOUR_TABLE_NAME SET id = @reset:= @reset + 1; 
関連する問題