2016-05-19 8 views
4

MySQLでstrictを有効にするにはどうすればよいですか?
厳密にSQLからデータを取得して処理します。Mysqlでstrictモードを有効にします

私の現在のslq_modeは

mysql> SELECT @@sql_mode; 
+------------------------+ 
| @@sql_mode    | 
+------------------------+ 
| NO_ENGINE_SUBSTITUTION | 
+------------------------+ 
+1

てみました[SQLモードの設定](https://dev.mysql.com/doc/en/sql-mode.html# SQLモード設定)? – eggyal

答えて

5

は、次の操作を行います:

SET GLOBAL sql_mode='STRICT_TRANS_TABLES'; 
+1

警告:これはあなたの現在の 'sql_mode'値を完全に上書きします。現在の設定リストに 'STRICT_TRANS_TABLES'を追加したい場合、これはあなたが望むものではありません。 – Pieter

1

あなたは基本的には、それをやってSQLコマンドを使用するか、設定ファイルを変更するには二つの方法があります。 SQLコマンドを使用して設定すると、サーバーの再起動後に変更されます。

設定ファイルでそれをやって

SET GLOBAL sql_mode='STRICT_TRANS_TABLES';

:SQLでそれをやって

[mysqld] sql_mode="STRICT_TRANS_TABLES"

ファイルの場所は、ご使用のオペレーティング・システム上で、より多くのそれをここに見つける場所に応じて異なります。 https://dev.mysql.com/doc/refman/5.7/en/option-files.html

重要なことは、 ltipleモードが指定された:

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

それはあなたの全体のモード文字列を上書きする可能性があるため、SQL文を使用している場合、これは特に重要です。

ここではSQLモードについてのより多くの原料:あなたはというタイトルのマニュアルのセクションを読んでhttps://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

関連する問題