1. テーブルステートメントを作成します。 テーブル「従業員」を作成します( `emp_no` int(11) NULLではない、 `birth_date` 日付がNULLではない、 `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `性別` char(1) NOT NULL, `hire_date` 日付がNULLではない、 主キー (`emp_no`)、 ユニークキー `idxunique_first_name_gender` (`first_name`,`gender`), ユニークキー `uniq_idx_firstname` (`first_name`,`gender`) ) エンジン=InnoDB デフォルト文字セット=utf8 2. 一意のキーを追加します。 -- 一意のインデックスを追加します。alter table employees add constraint idxunique_first_name_gender unique(first_name, gender); 3. クエリテストステートメント: -- インデックスにすべてのフィールドを含め、順序はインデックスと一致します。select * from employees where first_name='Chirstian' and gender='M'; -- キー列の値: idxunique_first_name_gender -- インデックスにすべてのフィールドを含めますが、順序とインデックスが一貫していません。select * from employees where gender='M' and first_name='Chirstian'; -- キー列の値: idxunique_first_name_gender -- 最初のフィールドにインデックスを含める select * from employees where first_name='Chirstian'; -- キー列の値: idxunique_first_name_gender -- インデックスに最初のフィールド以外のフィールドを含める select * from employees where gender='M'; -- キー列の値: NULL 4. クエリを実行するときに、WHERE 条件に一意のキーの列 (一部またはすべて) のみが含まれ、列の値の型が const の場合。一意のキーを使用する場合は、一意のキーを作成するときに、where 句に最初の列を含める必要があります。その他の列はオプションです。 MySQLのユニークキーに関する質問 xxx_tab の user_id は一意のキーです。疑似コードを見てみましょう。 xxx_tabからuser_id=10000を取得します。 存在する場合 { 返品OK } ret = user_id=10000を挿入 大丈夫なら { 返品OK } not_okを返す 質問: 最終結果が not_ok なのはなぜですか? ヒント: 分散された影響 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: JavaScript で外部変数にアクセスするサブ関数の 3 つのソリューション
>>: Alibaba Cloud Server に Tomcat をインストールして設定し、外部ネットワーク アクセス ポートを追加するチュートリアル
nginx の default_server ディレクティブは、server_name と一致しない...
目次背景1. クエリ条件に「or」が含まれているため、インデックスが失敗する可能性があります。 2....
目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...
WindowsにTomCatをインストールするこの記事では、WindowsプラットフォームにTomC...
この記事では、Linux システムを起動する方法について説明します。ご参考までに、詳細は以下の通りで...
序文最近、データベースのテーブルに 2 つのフィールドを追加しました。その後、ディスク容量不足のよう...
コンテンツオーバーフローとは何ですか?実際、テキストが大量にある場合、コンテンツ領域がそれだけの長さ...
メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...
1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...
SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...
私たち謙虚なプログラマーは、今でもこう歌わなければなりません。「あなたも私も、この世に生まれて、一日...
Centos7 の yum ソースには、mysql の代わりに mariaDB が使用されているため...
MySQL を長い間使用してきた多くの人は、これら 2 つのフィールド属性の概念をまだよく理解して...
Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....
ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージョンと一致し...