MySQL 5.1 リファレンスマニュアル :: 1 一般情報 :: 1.8 MySQLの標準への準拠 :: 1.8.3 ANSIモードでのMySQLの実行
« 1.8.2 SQLモードの選択

1.8.4 SQL標準に対するMySQL拡張機能 »
Section Navigation      [Toggle]
  • 1.8 MySQLの標準への準拠
  • 1.8.1 MySQLが準拠する標準
  • 1.8.2 SQLモードの選択
  • 1.8.3 ANSIモードでのMySQLの実行
  • 1.8.4 SQL標準に対するMySQL拡張機能
  • 1.8.5 MySQLと標準SQLとの違い
  • 1.8.6 MySQL における制約の処理

1.8.3. ANSIモードでのMySQLの実行

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モードの選択」を参照してください。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates