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

mysqlでグローバルsql_modeを設定する

    ところで、MySQLでグローバルを設定した場合:

    SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
    SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';
    

    これは永続的に設定しません 、再起動するたびに元に戻ります。

    したがって、これを構成ファイル(/etc/mysql/my.cnfなど)で設定する必要があります。 [mysqld]セクションで)、MySQLの再起動後も変更が有効なままになるようにします:

    構成ファイル:/etc/mysql/my.cnf

    [mysqld] 
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    

    更新:Mysqlの新しいバージョン(5.7.8以降など)では、わずかに異なる構文が必要になる場合があります:

    [mysqld]
    sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
    

    sql-modeの間にダッシュがあることを確認してください アンダースコアではなく、そのモードは二重引用符で囲まれています。

    常に MySQLDocs を参照してください あなたののために sql-modeオプションを表示するバージョン



    1. WHERE句の列名エイリアスを参照してください

    2. SQL-特定の値を挿入するステートメントを検索します

    3. ストアドプロシージャとは何ですか?

    4. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信リンク障害