Mysqlの固有の制約
1.ユニークな単一の列はユニークです
一意のテーブルを作成するには、次の2つの方法があります。
# 第一种
create table department(
id int,
name char(10) unique
)
# 第二种
create table department(
id int,
name char(10),
unique(name)
)
2つの違いは、1つは最後に書き込むことであり、もう1つはデータ型を書き込んだ後に書き込むことです。
ユニークの役割は?見てみましょう:
insert into department values(1,'IT'),(2,'IT')
実行-次にデータベースがエラーを報告します。
ここでは、名前を一意に設定しているため、2つの「IT」を含めることはできません。変更してください。
insert into department values(1,'IT'),(2,'厨师')
正常に実行され、表の内容を確認します。
要約:一意の役割:一意であることを確認する
2.uniqueのジョイントユニーク
nameとipの2つのパラメータがある状況があるとします。名前が同じである場合、ipを同じにすることはできません。ipが同じである場合、名前を同じにすることはできません。
このとき、ユニークなジョイントを使用することができます。
以下のテーブルを作成するには:
create table department(
id int,
ip char(15),
name char(10),
unique(name,ip),
unique(id)
)
テーブルにコンテンツを挿入します。
insert into department values
(1,'192.168.11.10',80),
(2,'192.168.11.10',80)
実行エラー:
名前とIPが同じであるため、名前を変更しても、IPは変更されません。
insert into department values(1,'192.168.11.10',80),(2,'192.168.11.10',81)
テーブルの内容を実行して確認します。
もちろん、名前を変更せずにIPを変更した場合は、自分で試すことができます。ここでは説明しません。
この記事がお役に立てば幸いです。著者のサポートをお願いします。あなたの励ましは、これからの私の絶え間ないモチベーションです〜