[解決済み] MySQLの削除後の自動インクリメント
質問
AUTO_INCREMENT がオンになっている主キーフィールドを持つ MySQL テーブルがあります。 ここの他の投稿を読んだ後、同じ問題を持つ人々とさまざまな回答があることに気づきました。ある人はこの機能を使用しないことを推奨し、他の人はそれが「修正」できないと述べています。
私は
table: course
fields: courseID, courseName
例:テーブルのレコード数。18. もし、レコード16、17、18を削除した場合、次に入力されるレコードは16のcourseIDを持つと思われますが、最後に入力されたcourseIDが18であるため、19になります。
私の SQL 知識は驚くほどではありませんが、クエリ (または phpMyAdmin インターフェイスの設定) でこのカウントをリフレッシュまたは更新する方法はありますか?
このテーブルは、データベース内の他のテーブルと関連します。
すべてのアドバイスを考慮し、私はこの「問題」を無視することにしました。私は、自動インクリメントに仕事をさせながら、単にレコードを削除および追加します。番号が何であるかは、一意の識別子としてのみ使用され、(上記のような) ビジネス の意味を持たないからです。
私の最初の投稿で混乱させたかもしれない人々のために。私は、このフィールドを使用してレコードの数を知りたいわけではありません。私はただ、データベースをきちんと見せて、もう少し一貫性を持たせたかっただけなのです。
どのように解決するのですか?
の意図した使い方ではないので、あなたがやろうとしていることは危険なように思えます。
AUTO_INCREMENT
.
もし本当に一番低い未使用のキー値を見つけたいのであれば、このように
AUTO_INCREMENT
を全く使わず、キーを手動で管理すればよいのです。しかし、これは推奨されるやり方ではありません。
一歩下がって、quot に尋ねます。
なぜキー値を再利用する必要があるのでしょうか?
" 無署名で行う
INT
(または
BIGINT
) は十分な大きさの鍵空間を提供しないのでしょうか?
あなたは本当に
18,446,744,073,709,551,615
を超えるレコードを持つことになるのでしょうか?
関連
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み】SQL Serverで削除後にAutoIncrementをリセットする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
plsql-stored-procedure ORA-06550 エラー処理
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?
-
[解決済み] Selectステートメントで特定のフィールドの重複を検索する