Server SQL Modes When this manual refers to “strict mode,”  it means a mode with either or both  STRICT_TRANS_TABLES  or STRICT_ALL_TABLES  enabled. Full List of SQL Modes The following list describes all supported SQL modes: • ALLOW_INVALID_DATES • ANSI_QUOTES • ERROR_FOR_DIVISION_BY_ZERO •If this mode and strict mode are enabled, division by zero produces an error, unless  IGNORE  is given as well. For  INSERT IGNORE  and  UPDATE IGNORE , division by zero inserts  NULL  and produces a warning. •If this mode is enabled, division by zero inserts  NULL  and produces a warning. •If this mode is not enabled, division by zero inserts  NULL  and produces no warning. • HIGH_NOT_PRECEDENCE The precedence of the  NOT  operator is such that expressions such as  NOT a BETWEEN b AND c  are parsed as  NOT (a BETWEEN b AND c) . In some older versions of MySQL, the expression was parsed as  (NOT a) BETWEEN b AND c . The old higher-precedence behavior can be obtained by enabling the HIGH_NOT_PRECEDENCE  SQL mode. mysql>  SET sql_mode = ’’; Do not perform full checking of dates. Check only that the month is in the range from 1 to 12 and the day is in the range from 1 to 31. This may be useful for Web applications that obtain year, month, and day in three different fields and store exactly what the user inserted, without date validation. This mode applies to  DATE  and  DATETIME  columns. It does not apply  TIMESTAMP  columns, which always require a valid date. With  ALLOW_INVALID_DATES  disabled, the server requires that month and day values be legal, and not merely in the range 1 to 12 and 1 to 31, respectively. With strict mode disabled, invalid dates such as ’2004-04-31’  are converted to  ’0000-00-00’  and a warning is generated. With strict mode enabled, invalid dates generate an error. To permit such dates, enable  ALLOW_INVALID_DATES . Treat  "  as an identifier quote character (like the  ‘  quote character) and not as a string quote character. You can still use  ‘  to quote identifiers with this mode enabled. With  ANSI_QUOTES  enabled, you cannot use double quotation marks to quote literal strings because they are interpreted as identifiers. The  ERROR_FOR_DIVISION_BY_ZERO  mode affects handling of division by zero, which includes MOD( N ,0) . For data-change operations ( INSERT ,  UPDATE ), its effect also depends on whether strict SQL mode is enabled. For  SELECT , division by zero returns  NULL . Enabling  ERROR_FOR_DIVISION_BY_ZERO  causes a warning to be produced as well, regardless of whether strict mode is enabled. ERROR_FOR_DIVISION_BY_ZERO  is deprecated.  ERROR_FOR_DIVISION_BY_ZERO  is not part of strict mode, but should be used in conjunction with strict mode and is enabled by default. A warning occurs if ERROR_FOR_DIVISION_BY_ZERO  is enabled without also enabling strict mode or vice versa. Because  ERROR_FOR_DIVISION_BY_ZERO  is deprecated, you should expect it to be removed in a future MySQL release as a separate mode name and its effect included in the effects of strict SQL mode. 972