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 コマンドを移植する

推薦する

MySQLステートメントを監視する方法の詳細な説明

クイックリーディングSQL ステートメントを監視する必要があるのはなぜか、監視方法と監視手段について...

Vue2 における 12 種類のコンポーネント通信

目次1. 小道具2..同期3.vモデル4.参照5. $emit/v-on 6. $attrs/$li...

Windows Server 2019 のセットアップ方法 (画像とテキスト付き)

1. Windows Server 2019 のインストールVmware に Windows Se...

JavaScript 改ざん防止オブジェクトの使用例

目次JavaScript 改ざん防止オブジェクト1. 拡張不可能なオブジェクト2. 封印された物体3...

MySQL 整合性制約の例の詳細な説明

この記事では、MySQL の整合性制約について説明します。ご参考までに、詳細は以下の通りです。メイン...

WeChatミニプログラム公式顔認証の詳しい説明

ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...

この記事では、CSSの2列レイアウトと3列レイアウトの具体的な使い方をまとめます。

序文大規模なフロントエンドの開発に伴い、UI フレームワークが次々と登場し、フロントエンド開発におけ...

MySQL 単一テーブルクエリの例の詳細な説明

1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...

Nginx を使用して IP アドレスが悪意を持って解決されるのを防ぐ方法

Nginxを使用する目的Alibaba Cloud ECS クラウド サーバーを使用して、まずは著者...

Ubuntu 18仮想マシンのクローン作成後に同じIPアドレスになる問題の解決方法

序文最近、仮想マシンを使用して Ubuntu 18.04 をインストールしました。クローン作成後、I...

TypeScript 3.7 で注目すべき 3 つの新機能について簡単に説明します。

目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...

Linux での MySQL の文字化け問題の解決方法

プロジェクトはサーバーと対話し、post を通じてサーバー側の jsp にアクセスし、jsp はサー...

サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)

1. Javaプロジェクトをjarパッケージにパッケージ化するここではMavenツールを使用します...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

CSS3 を使用して左上または右上隅にリマインダー ドットを表示するサンプル コード

効果画像(三角形をご希望の場合は、ここをクリックしてください): コード: <html>...