mysqldを使用して、--ansi
スタートアップオプションでANSIモードを実行させることができます。ANSI
モードでサーバを実行するのは、以下のオプションを指定してサーバを起動するのと同じことです
--transaction-isolation=SERIALIZABLE --sql-mode=ANSI
MySQL 4.1 以降では、次の 2 つのステートメントで同じ動作を実現することができます。
SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET GLOBAL sql_mode = 'ANSI';
sql_mode
システム変数値は'ANSI'
に設定されることで、ANSIモードに関連するすべてのSQLモードオプションに設定されます。結果を確認するには、以下を実行します。
mysql>SET GLOBAL sql_mode='ANSI';
mysql>SELECT @@global.sql_mode;
-> 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI'
--ansi
を指定してANSIモードでサーバを実行することと、SQLモードを'ANSI'
に設定することは、同じではありません。--ansi
オプションはSQLモードに影響を与え、トランザクション分離レベルも設定します。SQLモードを'ANSI'
に設定しても、分離レベルに影響はありません。
項4.2.2. 「コマンド オプション」および項1.8.2. 「SQLモードの選択」を参照してください。