Mysqlの一意の制約条件(単一列の一意およびユニオンの一意)

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を変更した場合は、自分で試すことができます。ここでは説明しません。

この記事がお役に立てば幸いです。著者のサポートをお願いします。あなたの励ましは、これからの私の絶え間ないモチベーションです〜

おすすめ

転載: blog.csdn.net/m0_50481455/article/details/114112814