ホームページ >データベース >mysql チュートリアル >MySQL でグローバル `sql_mode` を設定および管理するにはどうすればよいですか?
MySQL でのグローバル sql_mode の設定
MySQL では、sql_mode はデータベース サーバーのデフォルトの動作を定義します。 sql_mode をグローバルに設定すると、構成されたモードが後続のすべての接続とセッションに適用されます。これは、現在の接続にのみ影響するセッションごとの sql_mode の設定とは異なります。
sql_mode をグローバルに設定するときにエラーが発生した場合は、構文を確認することが重要です。グローバル コンテキストで複数のモードを設定する正しい方法は次のとおりです。
SET GLOBAL sql_mode = 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLE', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION'
グローバル モードとセッション モードの利点
グローバルモード:
セッションモード:
優先設定
優先設定はアプリケーションと環境によって異なります。全体的に一貫した動作が必要な場合は、sql_mode をグローバルに設定することをお勧めします。ただし、特定のセッション要件が発生した場合、セッション モードは必要な柔軟性を提供します。
グローバル sql_mode の永続的な設定
グローバル sql_mode の変更を永続的にするには、それらを次のように構成する必要があります。 MySQL 設定ファイル (Linux の /etc/mysql/my.cnf など)。 [mysqld] セクションで、sql_mode オプションを追加または変更します。例:
[mysqld] sql_mode = NO_BACKSLASH_ESCAPES, STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION
MySQL の新しいバージョン (5.7.8 以降など) の場合、sql_mode 設定にはアンダースコアと二重引用符の代わりにハイフンが必要な場合があります:
[mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
MySQL のバージョンに基づいた適切な構文については、常に MySQL ドキュメントを参照してください。使用します。
以上がMySQL でグローバル `sql_mode` を設定および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。