Spec-Zone .ru
спецификации, руководства, описания, API
|
Чтобы принять меры против проигнорированных опечаток и синтаксических ошибок в SQL, или других непреднамеренных
последствий различных комбинаций операционных режимов и SQL-операторов, InnoDB обеспечивает строгий
режим операций. В этом режиме InnoDB повышает состояния ошибки в определенных случаях, вместо того,
чтобы выпустить предупреждение и обработку указанного оператора (возможно, с непреднамеренным поведением). Это
походит sql_mode
в MySQL, который управляет тем, что принимает MySQL синтаксиса SQL,
и определяет, игнорирует ли это тихо ошибки, или проверяет входного синтаксиса и значений данных. Начиная с
InnoDB строгий режим относительно нов, некоторые операторы, которые выполняются без ошибок с более ранними
версиями MySQL, могли бы генерировать ошибки, если Вы не отключаете строгий режим.
Установка InnoDB строгий режим влияет на обработку синтаксических ошибок на CREATE TABLE
, ALTER
TABLE
и CREATE INDEX
операторы. Строгий режим также включает проверке размера записи, так, чтобы INSERT
или UPDATE
никогда не перестал работать из-за записи, являющейся слишком большим
для выбранного размера страницы.
Oracle рекомендует включить innodb_strict_mode
при использовании ROW_FORMAT
и
KEY_BLOCK_SIZE
пункты на CREATE TABLE
, ALTER
TABLE
, и CREATE INDEX
операторы. Без строгого режима InnoDB игнорирует конфликтные пункты и составляет таблицу, или индексируйте с
только предупреждением в журнале сообщения. У получающейся таблицы могло бы быть различное поведение, чем Вы
предназначали, такие как наличие никакого сжатия, когда Вы попытались составить сжатую таблицу. То, когда
InnoDB, строгий режим идет, такие проблемы, генерируют непосредственную ошибку и таблицу или индексируют, не
создается, избегая сеанса поиска и устранения неисправностей позже.
InnoDB строгий режим устанавливается с параметром конфигурации innodb_strict_mode
, который может быть определен как ON
или OFF
. Можно установить значение на командной
строке, когда Вы запускаете mysqld
, или в конфигурационном
файле my.cnf
или my.ini
. Можно также
включить или отключить InnoDB строгий режим во времени выполнения с оператором SET
[GLOBAL|SESSION] innodb_strict_mode=
, где mode
также mode
ON
или OFF
. Изменение GLOBAL
установка требует SUPER
полномочие и влияет
на работу всех клиентов, которые впоследствии соединяются. Любой клиент может измениться SESSION
установка для innodb_strict_mode
,
и установка влияет только на тот клиент.