複数の SQL モードをグローバルに設定するために指定したコマンドは正しくありません。正しい構文は次のとおりです:
SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
セッション モード: 現在の接続にのみ影響し、リセットされる接続の終了。利点は次のとおりです。
グローバル モード: データベースへのすべての接続に影響します。利点は次のとおりです。
モードは、特定の要件と使用パターンによって異なります。すべてのユーザーに同じ SQL モードが必要な場合は、グローバル モードを設定することをお勧めします。それ以外の場合、セッション モードは柔軟性を提供します。
SET GLOBAL を使用した SQL モードの設定は、MySQL の再起動後は保持されないことに注意してください。変更を永続的にするには、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 モード オプションについては、特定のバージョンの MySQL ドキュメントを必ず参照してください。
以上がMySQL でグローバル SQL モードを設定および保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。