概要 MySQL データベースで主キーのないテーブルを表示するための SQL ステートメントをいくつかまとめてみましょう。見てみましょう。 1. テーブルの主キー情報を表示する --テーブルの主キー情報を表示するSELECT t.テーブル名、 t.制約タイプ、 c.列名、 c.ORDINAL_POSITION から INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t、 INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c どこ t.テーブル名 = c.テーブル名 かつ t.CONSTRAINT_TYPE = 'PRIMARY KEY' AND t.TABLE_NAME = '<TABLE_NAME>' AND t.TABLE_SCHEMA = '<TABLE_SCHEMA>'; 2. 主キーなしでテーブルを表示する --主キーなしでテーブルを表示する SELECT table_schema, table_name,TABLE_ROWS information_schema.tables から WHERE (テーブルスキーマ、テーブル名) NOT IN ( SELECT DISTINCT テーブルスキーマ、テーブル名 information_schema.columns から COLUMN_KEY = 'PRI' の場合 ) AND table_schema は ('sys'、'mysql'、'information_schema'、'performance_schema') に含まれません。 3. 主キーのないテーブル Innodb ストレージ エンジンでは、各テーブルに主キーがあり、データは主キーの順序で整理され、保存されます。このタイプのテーブルは、インデックス構成テーブルと呼ばれます。 テーブルの定義時に主キーが明示的に定義されていない場合、主キーは次のように選択または作成されます。 1) まず、テーブルに「空でない一意のインデックス」があるかどうかを確認します。ある場合は、 「空でない一意のインデックス」が1つだけの場合、このインデックスが主キーになります。 「空でない一意のインデックス」が複数ある場合は、インデックスの順序に従って、最初に定義された空でない一意のインデックスが主キーとして選択されます。 2) テーブル内に「空でない一意のインデックス」がない場合、6 バイトのポインタが主キーとして自動的に作成されます。 主キー インデックスにインデックス キーが 1 つしかない場合は、_rowid を使用して主キーを表示できます。実験テストは次のとおりです。 --テストテーブルを削除します。DROP TABLE IF EXISTS t1; --テストテーブルを作成する CREATE TABLE `t1` ( `id` int(11) NULLではない、 `c1` int(11) デフォルト NULL, ユニーク uni_id (ID)、 インデックスidx_c1(c1) )ENGINE = InnoDB CHARSET = utf8; --テストデータを挿入します INSERT INTO t1 (id, c1) SELECT 1, 1; t1 (id, c1) に挿入し、2, 2 を選択します。 t1 (id, c1) に挿入し、4, 4 を選択します。 --データと_rowidを表示する t1から*、_rowidを選択します。 id 列はテーブル内の最初の一意かつ NOT NULL インデックスであるため、上記の _rowid は id の値と同じであることがわかります。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: vue3 のさまざまな構文形式を比較したサンプルコード
>>: Centos6.6 で php7 + nginx 環境をインストールする方法
問題を見つける以前、簡単なデモを書いたのですが、IE10以下では動作しないことがわかりました。ここに...
最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...
1. 問題を発見する© は HTML の著作権記号ですが、間違ったフォントを選択す...
MySQL 最大接続数の表示と最大接続数の変更1. 最大接続数を確認する '%max_con...
実際、この効果を実現するのは非常に簡単で、この効果は特殊効果と呼ぶことすらできません。次のコードを ...
この記事では、Harbor アーキテクチャの構成と、実行時に各コンポーネントを使用する方法について説...
目次概要4つの例例1: 誕生日で説明する約束の基本例2: 数字当てゲーム例3: Web APIから国...
目次1. コンポーネントとは何ですか? 2. グローバルコンポーネントを作成する方法1 1. Vue...
Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...
テーブルとは何ですか?セルセルで構成されています。表では、<td> の数は、<tr...
1. 基本的な使い方これは MutationObserver コンストラクターを通じてインスタンス化...
1. エフェクトHTMLを送信する <div id="送信ボタン">...
序文docker イメージを削除できません。docker docker imagesを確認すると、イ...
透明を含む5つの肌の色を変更するには50行のコードが必要です最初にコードをお渡ししますので、ご自身で...
背景すべての業務を Docker の運用管理に移行してから、一連の落とし穴に遭遇しましたが、今回は ...