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

MySQL列がNOTNULLに設定されていますが、NULL値を許可しています

    空の文字列を挿入していますが、空の文字列はNULLではありません 、NULLを確認します エラーが発生しました:

    INSERT INTO `addresses` (`street`, `city`, `state`, `zip`) VALUES (NULL, NULL, NULL, NULL);
    

    エラーが表示されます。 NOT NULL NULLではない値のみをチェックします 。

    空の文字列を防ぐには、トリガー を使用する必要があります。 、またはサーバー側プログラミング言語のチェックを実行して、空の文字列をNULLに変換します INSERTを実行する前に query.INSERTのトリガーの例 次のようになります:(これは単なる例です)

    CREATE TRIGGER avoid_empty
        BEFORE INSERT ON addresses
            FOR EACH ROW
            BEGIN
            IF street = '' THEN SET street = NULL END IF;
    END; 
    


    1. MySQLおよびGROUP_CONCAT()の最大長

    2. データベースメールチュートリアル

    3. jqGrid-新しい行の一意のID

    4. T-SQLには、文字列を連結するための集計関数がありますか?