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

mysqlフィールドを要求するにはどうすればよいですか?

    デフォルトでは、MySQLは無効な値を受け入れます。 MySQLをstrictモードに設定して、有効な値を強制することができます。これにより、NOT NULL列の値を提供しないクエリが拒否され、すべてのタイプの列に整合性が適用されます。

    更新: MySQL 5.7以降では、デフォルトで厳密モードがオンになっています。したがって、以前のバージョンのように、デフォルトでは無効な値を受け入れません。

    http://dev.mysql .com / doc / refman / 5.0 / en / sql-mode.html#sql-mode-important

    http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables

    編集:@Barrankaと@RocketHazmatはコメントで良い点を述べました。 '' nullと同じではないため、MySQLはNOTNULL列でそれを許可します。その場合、コードまたはトリガーに頼る必要があります。

    コード(たとえばPHP)では、これは十分に簡単で、次のように実行できます。

    if (!strlen($value)) { 
        // Exclude value or use NULL in query
    }
    


    1. 整数のリストをC#からOracleストアドプロシージャに渡します

    2. SQL Server(T-SQL)でTIMEデータ型をフォーマットするときはこれを覚えておいてください

    3. MariaDBでのCAST()のしくみ

    4. mysql5.58 macos10.6.5でサーバーを起動解除します