ホームページ > データベース > mysql チュートリアル > MySQL で複数のグローバル SQL_MODE 値を正しく設定する方法は?

MySQL で複数のグローバル SQL_MODE 値を正しく設定する方法は?

Mary-Kate Olsen
リリース: 2024-12-04 20:09:16
オリジナル
265 人が閲覧しました

How to Correctly Set Multiple Global SQL_MODE Values in MySQL?

MySQL でのグローバル SQL_MODE の設定: 複数のモード、利点、および推奨されるアプローチ

MySQL で SQL_MODE をグローバルに設定しようとすると、次のような問題が発生する可能性があります。エラーです。このエラーは、複数のモードを設定するための正しい方法、セッション モードとグローバル モードの両方を設定する利点、および推奨されるアプローチについての質問を促します。

これは複数のモードを設定する適切な方法ではありませんか?

提供されたコマンド、set global sql_mode='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION' は、複数の SQL_MODE 値をグローバルに設定するための正しい構文ではありません。正しいアプローチは、二重引用符で囲んだカンマを使用して目的のモードを結合することです。

例:

SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
ログイン後にコピー

セッションとグローバルを設定する利点は何ですか?モード?

  • セッションmode: 現在のデータベース接続に適用され、グローバル設定をオーバーライドします。他のユーザーに影響を与えることなく SQL_MODE 設定を一時的に変更できます。
  • グローバル モード: サーバー上のすべてのデータベース接続に適用されます。すべてのユーザー間で一貫した SQL_MODE を保証します。

推奨されるアプローチ

SQL_MODE を設定するための推奨されるアプローチは、特定の要件によって異なります。

  • 一時的な変更: セッション モードを使用して SQL_MODE 値を設定する特定のユーザーまたはセッション用。
  • 永続的な変更: グローバル モードを使用して、サーバー上のすべてのユーザーの SQL_MODE 値を設定します。これらの設定を MySQL 構成ファイル (my.cnf) で構成して、サーバーの再起動後も確実に保持されるようにします。

グローバル SQL_MODE を永続的に設定する例

MySQL 設定ファイル (/etc/mysql/my.cnf):

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
ログイン後にコピー

以上がMySQL で複数のグローバル SQL_MODE 値を正しく設定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート