sql >> データベース >  >> RDS >> Database

SQL、一意のキーと主キー

    このコマンドで作成されたテーブルの場合:

    CREATE TABLE people (
      age INT NOT NULL,
      name CHAR(20) NOT NULL
    );

    アイテムを複数回挿入できます。

    特に、同じ値を繰り返す列を作成できます。

    UNIQUEを使用して、列に一意の値のみを強制することができます キーの制約:

    CREATE TABLE people (
      age INT NOT NULL,
      name CHAR(20) NOT NULL UNIQUE
    );

    ここで、「Flavio」を2回追加しようとすると、次のようになります。

    INSERT INTO people VALUES (37, 'Flavio');
    INSERT INTO people VALUES (20, 'Flavio');

    エラーが発生します:

    ERROR:  duplicate key value violates unique constraint "people_name_key"
    DETAIL:  Key (name)=(Flavio) already exists.

    主キー は別のプロパティを持つ一意のキーです。これは、テーブル内の行を識別するための主要な方法です。

    CREATE TABLE people (
      age INT NOT NULL,
      name CHAR(20) NOT NULL PRIMARY KEY
    );

    たとえば、主キーはユーザーのリスト内の電子メールにすることができます。

    主キーは一意のidにすることができます 各レコードに自動的に割り当てます。

    その値が何であれ、それを使用してテーブル内の行を参照できることがわかっています。


    1. JOINが重複を返した後のGROUPまたはDISTINCT

    2. SQLServerでの特定のログインに対する同時ユーザーセッションの制限

    3. MySQLでGroupBy句を使用して行をグループ化する

    4. 空のクラスター化テーブルへのINSERT…SELECTによる最小限のロギング