2016-07-20 2 views
0

MySqlとMariaDBの厳密なモードに関する情報はたくさんありますが、使用するタイミングについては何もわかりません。これはある程度は常識ですが、私はまだいくつかの一般的なガイドラインが必要です。たとえば、おそらくあなた:MySqlまたはMariaDBで厳密なモードを使用する場合

+1

誰かにこのページを再集計してもらいたいですか? http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-strict – Drew

+2

常に厳密モードを使用してください。それは、あなたがその制限を嫌になるまでです。モードはあなたを助けるためのものですが、痛いかもしれません。 –

+0

リックありがとうございます。あなたはそれを答えたいと思います、私はそれを受け入れますか? –

答えて

0

ファーストを持つテーブル上のstrictモードを使用してstrictモードを使用しないでくださいstrictモードを使用します:

厳密なモードは、 INSERTやUPDATEなどのデータ変更文で無効または欠落している値を削除します。値はいくつかの理由で無効になる可能性があります。たとえば、列のデータ型が間違っているか、範囲外である可能性があります。挿入される新しい行に、その定義に明示的なDEFAULT句を持たない非NULL列の値が含まれていない場合、値が欠落しています。 (NULL列の場合、値がない場合はNULLが挿入されます)。厳密モードは、CREATE TABLEなどのDDL文にも影響します。

@ rick-jamesのように、常にstrictモードを使用してください。それは、あなたがその制限を嫌になるまでです。モードはあなたを助けるためのものですが、痛いかもしれません。

厳密なモードも> 10.2.3以降のdefault on MariaDBです。

  • 現在のモードを取得:SHOW VARIABLES LIKE sql_mode";
  • 無効にする:mysql> SET sql_mode = '';
  • 有効にします。mysql> SET sql_mode = 'STRICT_ALL_TABLES';(またはSTRICT_TRANS_TABLES)。永続的な変更編集/etc/mysql/my.conf[mysqld]セクション、sql_mode=変数については

関連する問題