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

MySQLは一意の制約のnull値を無視しますか?

    はい、MySQLでは一意の制約がある列に複数のNULLを許可しています。

    CREATE TABLE table1 (x INT NULL UNIQUE);
    INSERT table1 VALUES (1);
    INSERT table1 VALUES (1);   -- Duplicate entry '1' for key 'x'
    INSERT table1 VALUES (NULL);
    INSERT table1 VALUES (NULL);
    SELECT * FROM table1;
    

    結果:

    x
    NULL
    NULL
    1
    

    これはすべてのデータベースに当てはまるわけではありません。 たとえば、SQL Server 2005以前では、一意の制約がある列で1つのNULL値のみが許可されます。



    1. プリペアドステートメントを使用しないのはいつですか?

    2. Oracleの既存のテーブルに自動インクリメントの主キーを追加します

    3. FILESTREAM対応データベースのバックアップと復元

    4. これら2つの結合テーブルアプローチの違いは?