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

MySQL:sql_modeを永続的に設定する

    MySQL sql_mode "TRADITIONAL" 、別名「厳密モード」は、MySQLdocsによって定義されます。 として:

    sql_modeが"TRADITIONAL"に設定されていることを確認する方法は次のとおりです。 。

    まず、現在の設定を確認します:

    mysql
    mysql> SELECT @@GLOBAL.sql_mode;
    +-------------------+
    | @@GLOBAL.sql_mode |
    +-------------------+
    |                   |
    +-------------------+
    1 row in set (0.00 sec)
    

    これは空白(デフォルト)を返しましたが、これは悪いことです。sql_modeが「TRADITIONAL」に設定されていません。

    構成ファイルを編集します:

    sudo vim /etc/mysql/my.cnf
    

    [mysqld]というラベルの付いたセクションにこの行を追加します :sql_mode="TRADITIONAL" (fancyPantsが指摘したように)

    次にサーバーを再起動します:

    sudo service mysql restart
    

    次にもう一度確認します:

    mysql
    mysql> SELECT @@GLOBAL.sql_mode;
    +------------------------------------------------------------------------------------------------------------------------------------------------------+
    | @@GLOBAL.sql_mode                                                                                                                                    |
    +------------------------------------------------------------------------------------------------------------------------------------------------------+
    | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
    +------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    成功!あなたは今黄金です。



    1. SQLServerのすべてのサーバートリガーのリストを返す

    2. sunspotsolrの未定義のフィールドタイプ

    3. MySQLデータベースとテーブルを修復する方法

    4. ClassNotFoundException:com.mysql.jdbc.GoogleDriver