When innodb_strict_mode is ON, InnoDB returns
errors rather than warnings for certain conditions. The default value
is OFF.
Strict
mode helps guard against ignored typos and syntax errors in SQL, or
other unintended consequences of various combinations of operational modes and
SQL statements. When innodb_strict_mode is ON, InnoDB raises
error conditions in certain cases, rather than issuing a warning and processing
the specified statement (perhaps with unintended behavior). This is analogous
to sql_mode in MySQL, which controls what SQL
syntax MySQL accepts, and determines whether it silently ignores errors, or
validates input syntax and data values.
The innodb_strict_mode setting affects
the handling of syntax errors for CREATE
TABLE, ALTER
TABLE andCREATE
INDEX statements. innodb_strict_mode also enables a record size check,
so that an INSERT or UPDATE never
fails due to the record being too large for the selected page size.
Oracle recommends enabling innodb_strict_mode when using ROW_FORMAT and KEY_BLOCK_SIZE clauses on CREATE TABLE, ALTER
TABLE, and CREATE
INDEX statements. When innodb_strict_mode is OFF, InnoDB ignores conflicting clauses and creates the
table or index, with only a warning in the message log. The resulting table
might have different behavior than you intended, such as having no compression
when you tried to create a compressed table. When innodb_strict_mode is ON, such problems generate an immediate error and the
table or index is not created, avoiding a troubleshooting session later.
You can turn innodb_strict_mode ON or OFF on
the command line when you start mysqld, or in
the configuration
file my.cnf or my.ini.
You can also enable or disable innodb_strict_mode at runtime with the
statement SET [GLOBAL|SESSION] innodb_strict_mode=, where mode is either modeON or OFF.
Changing the GLOBAL setting requires
the SUPER privilege and affects the
operation of all clients that subsequently connect. Any client can change
the SESSION setting for innodb_strict_mode,
and the setting affects only that client.
参考:
http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_strict_mode
innodb_strict_mode,布布扣,bubuko.com
原文:http://www.cnblogs.com/xiaotengyi/p/3659487.html