MyISAM
        ストレージエンジンの使用時に、MySQL
        は複数リーダーまたは単一ライターの利用が可能な非常に高速のテーブルロックが使用されます。このテーブル型の最大の問題は、同じテーブルに対して複数の
        UPDATE と遅い SELECT
        が混在する場合に発生します。テーブルでこのような問題が発生した場合は、別のテーブル型を使用してもかまいません。Storage Engines
        を参照してください。
      
        MySQL
        はトランザクションテーブル、非トランザクションテーブルの両方で機能します。非トランザクションテーブル
        (何らかのエラー発生した場合にロールバックができない)
        での動作をスムーズにするため、MySQL
        には次の規則があります。この規則が適用されるのは厳格な
        SQL モードで作動していないとき、あるいは
        IGNORE 指示子を
        INSERT または
        UPDATE
        に使用しているときのみであることに注意してください。
      
すべてのカラムにデフォルト値がある。
カラムに対して適切でない値や範囲を超えた数値を挿入した場合、MySQL ではエラーを発生するのではなく、「取り得る値のうちの最適値」 に値を設定する。数値の場合は 0 で、可能な最小値か最大値になる。文字列の場合は、空白文字かカラムの最大長さにあわせた文字列になる。
            計算式はすべて、エラー状態を表示するのではなく、使用可能な値を返す。たとえば、1/0
            の場合は、NULL
            を返す。
          
        前述の動作を変更するには、サーバーの SQL
        モードを適切に設定することで、より厳格なデータ処理を可能にします。このことにより、以前の動作反応を変更することができます。この詳細については、How MySQL Deals with Constraints、Server SQL Modes、そして項8.2.5. 「INSERT 構文」を参照してください。
      

