MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文

この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために共有します。詳しい紹介を見てみましょう。

主キーのないテーブルの設計は次のとおりです。

id 位置に 0 が複数ある場合: 主キーを設定して自動的にソートすると、0 は 1 から増加します。

id = 0 のデータを挿入すると、データは実際の行数から増加します。これは、0 から変更する場合とは異なります。

これで主キーに 0 がなくなりました。ID を 0 に変更しても、0 は変更されません。直接ソートされます。

id=0 の別のものを挿入し、以前と同様に行数に直接関連していることを確認します。

この 0 が変化するかどうかを確認するには、自動ソートを再度リセットします。まず自動ソートをキャンセルします。

自己ソートを追加すると、予想どおり、0 が 1 になりそうになり、エラー メッセージには主キーに重複した 1 があるため、自己ソートは許可されないと表示されました。

修正後、実際に動作し、0が1になり、

まとめ

これらは唯一のケースだと思います。署名のないケースも同じはずです。他に私が考慮していないことがあれば、メッセージを残してご意見をお聞かせください。私も知りたいです。それでは、私の要約と考えを書き留めます。

私にとって、データベース内の 0 は特別なものです。

制限を使用して指定した範囲のデータを表示する場合、テーブルは 0 から下へソートされます。ただし、データ行を挿入する場合は行数に関係します。このとき、1 から下へソートされます。主キー自己ソート制約を使用する前にテーブルに 0 があった場合、主キー自己ソート制約を設定した後、すべての 0 は行数に従ってソートされるのではなく、1 から上から下に直接ソートされます。テーブル内の主キーの番号を 0 に変更すると、直接ソートされ、正の数の前に配置されます。つまり、主キーの自己ソートにより、0 の存在が許可されます。では、既存の 0 を 1 から始まる昇順に変更する必要があるのはなぜでしょうか。主キーのセルフソートを追加する前に 0 が 1 つしかなかったとしても、主キーのセルフソートを追加した後は 1 になります。

最初は 0 から始まり、主キーの自己順序制約が追加されると、0 は 1、2、3、4 などになります。

先頭に0はありません。主キーの自己順序制約を追加します。主キーが0の新しく追加された行は、行数に応じて自動的に変更されます。これは新しく追加された行であり、挿入が使用されていることに注意してください。

先頭に 0 はありません。主キーの番号を 0 に変更すると、ソート後のテーブルにこの 0 が直接表示されます。

簡単に言えば、主キーの自己ランキング制約を追加した後は次のようになります。

主キーの値: 0 に変更されましたが、ソートのためだけに存在できます。

新しく追加された 0 は存在が許可されず、行番号に応じて変更する必要があります。

既存の 0 は存在できず、変更は 1 から始まり、段階的に増加する必要があります。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]
  • 外部キー制約を持つテーブルデータを削除する MySQL メソッドの紹介
  • MySQL におけるユニーク制約と NULL の詳細な説明
  • MySQL の外部キー制約の詳細な説明
  • MySQL は、テーブルの列や制約などを追加、変更、削除します。
  • mysqlはBitmap_Join_Indexesに制約とインデックスを作成します
  • MySQLの基本操作を詳しく解説(第2部)

<<:  VUE+CanvasはシンプルなGobangゲームの全プロセスを実現します

>>:  Linux システムの busybox に mkfs.vfat コマンドを移植する

推薦する

Linux システム ディスクのフォーマットとスワップ パーティションの手動追加

Windows: NTFS、FATをサポートLinux は次のファイル形式をサポートしています: C...

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

MySQL ベストプラクティス: パーティションテーブルの基本タイプ

MySQL パーティションテーブルの概要MySQL の人気が高まるにつれて、MySQL に保存される...

HTMLフォーム要素の詳しい解説(パート1)

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...

Unicode における CJK (中国語、日本語、韓国語の統合表意文字) 文字の概要

CJK は CJK Unified Ideographs の略称で、「中国語、日本語、韓国語の統一表...

この記事は、JQueryの基本的な操作を理解し、始めるのに役立ちます。

目次1. Jquery を使用する手順: (1)jsライブラリをインポートする(2)ページ読み込みイ...

CSS 疑似要素を使用して複数の連続する要素のスタイルを制御する方法

CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...

EXPLAIN コマンドの詳細な説明と MySQL での使用方法

1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...

MySQL 8.0.17 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.17のインストールと設定方法を参考までに紹介します。具体的な内容は...

nginx のインストールが完了した後に PHP を解析できない問題の解決方法

目次方法1方法2 nginxをインストールした後、PHPコードを解析できないことがわかりました。解決...

Linux テキスト検索コマンド find の詳細な使用方法

find コマンドは主にディレクトリやファイルを検索するために使用され、一致のために複数のパラメータ...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

ネイティブjsは9マスグリッドのドラッグアンドドロップを実現します

ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...

ECMAScript の演算子を理解するための記事

目次単項演算子ブール演算子乗算演算子加法演算子関係演算子等価演算子条件演算子代入演算子カンマ演算子要...