# Option List All goInception audit rules can check with ```inception show variables;```. ```sql inception show variables; ``` Modify in two ways: - one at ```inception set ``` ```sql inception set osc_check_interval = 10; ``` - another one at config.toml, and start by ```-config=config.toml```  |Option|Default|Value|Description| |:----|:----|:----|:----| |check_autoincrement_datatype|FALSE|true,false|If return error when auto_increment column is not int or bigint.| |check_autoincrement_init_value|FALSE|true,false|If return error when auto_increment column not start from 1.| |check_autoincrement_name|FALSE|true,false|If return warn when the name of the auto_increment column is not ID, that means the column is meaningful.| |check_column_comment|FALSE|true,false|If the new column has a comment.| |check_column_default_value|FALSE|true,false|If the new column, no matter create or alter, has a default value.| |check_column_position_change `v0.9`|FALSE|true,false|Check if column position changed| |check_column_type_change `v0.7.3`|TRUE|true,false|Check the change of column type| |check_dml_limit|FALSE|true,false|If return error when LIMIT used in DML.| |check_dml_orderby|FALSE|true,false|If return error when Order By used in DML.| |check_dml_where|FALSE|true,false|If return error when there is no WHERE in DML.| |check_float_double `v1.0.2`|FALSE|true,false|If turned on, the type of `float/double` will change to decimal auto.| |check_identifier|FALSE|true,false|Check if Identifier is correct.Rule: [a-z,A-Z,0-9,_]| |check_identifier_upper `v1.0.2`|FALSE|true,false|If the Identifier, such as table name, column name,index name, must be uppercase. Default false| |check_implicit_type_conversion `v1.1.3`|FALSE|true,false|If have implicit type conversion at WHERE. Default false| |check_index_prefix|FALSE|true,false|If check index prefix, setting by `index_prefix` and `uniq_index_prefix`| |check_insert_field|FALSE|true,false|If check the table and column exist.| |check_primary_key|FALSE|true,false|If return error when there is no primary key at create table.| |check_table_comment|FALSE|true,false|If return error when there is no comment at create table.| |check_timestamp_count `v0.6.0`|FALSE|true,false|If check how many current_timestamp columns.| |check_timestamp_default|FALSE|true,false|If return error when timestamp column has no default value.| |columns_must_have_index `v1.2.2`| |string|Set the column must be create index. Split by comma. Format: column name [type, option]| |default_charset `v1.0.5`|utf8mb4|string|The default connection charset. Default utf8mb4.| |enable_autoincrement_unsigned|FALSE|true,false|If the auto_increment column should be unsigned.| |enable_any_statement `v1.2.5`|FALSE|true,false|If all SQL approved.| |enable_blob_not_null `v1.0`|FALSE|true,false|If set the default value of `blob/text/json` not null are approved, default is false, means not allowed.| |enable_blob_type|FALSE|true,false|If check support of BLOB column, include create,alter etc.| |enable_change_column `v1.0.3`|TRUE|true,false|If support change column syntax, default true.| |enable_column_charset|FALSE|true,false|If allow to set charset in SQL| |enable_drop_database|FALSE|true,false|If allow to drop database.| |enable_drop_table|FALSE|true,false|If allow to drop table.| |enable_enum_set_bit|FALSE|true,false|If can use enum,set,bit| |enable_fingerprint `v0.6.2`|FALSE|true,false|SQL fingerprint.| |explain_rule `v1.1.1`|`first`|`first`, `max`|The rule which explain decide the effect of SQL. `first`: use affect rows at the first row of explain shows as the SQL affect rows. `max`: use the max affect rows of explain as the whole explain affect rows.| |enable_foreign_key|FALSE|true,false|If can use foreign key.| |enable_identifer_keyword|FALSE|true,false|If use MySQL key words in SQL. default warn.| |enable_json_type `v0.7.2`|FALSE|true,false|If can use Json type include create, alter etc.| |enable_minimal_rollback `v1.1.2`|FALSE|true,false|If turn on the min rollback SQL, if on the rollback of update only record the change rows. Default false.| |enable_nullable|TRUE|true,false|If allow NULL for new column.| |enable_null_index_name v0.7.1|FALSE|true,false|If allow NULL index name for new index.| |enable_orderby_rand|FALSE|true,false|If return error, when SQL within order by rand.| |enable_partition_table|FALSE|true,false|If use partition table.| |enable_pk_columns_only_int|FALSE|true,false|If the primary key must be int.| |enable_select_star|FALSE|true,false|If return error, when use Select*| |enable_set_charset|FALSE|true,false|If enable setting charset| |enable_set_collation `v0.7`|FALSE|true,false|If enable setting collation| |enable_set_engine `v1.0-rc4`|TRUE|true,false|If enable setting engine, default true.| |enable_sql_statistic `v0.9`|FALSE|true,false|Turn on statistic| |enable_timestamp_type `v1.0.1`|TRUE|true,false|If enable timestamp column, include create and alter, default true.| |enable_use_view `v1.2.4`|FALSE|true,false|If enable create and use View| |enable_zero_date `v1.0.1`|TRUE|true,false|If enable time is 0, when turn off return error. Default true, means turn on, followed `NO_ZERO_DATE` in `sql_mode` setting.| |general_log `v0.8.1`|FALSE|true,false|If record full log| |hex_blob `v1.1.4`|FALSE|true,false|When decode binlog, if binary type can be saved as string type, then saved as hexadecimal string type. Affect `binary`, `varbinary`, `blob`. Default turn off.| |ignore_osc_alter_stmt `v1.2.4`| |string|If ignore alter in osc. Format: drop index, add column, etc. divided b comma.| |lang v0.5.1|`en-US`|`en-US`,`zh-CN`|Return message charset, option: `en-US`,`zh-CN`| |lock_wait_timeout `v1.2.4`|-1|int|How much seconds Lock wait when session execute SQL.| |max_allowed_packet `v1.0-rc3`|4194304|int|Max data package size, default 4194304 byte = 4MB| |max_char_length|0|int|Max length of char, if exceed, `warning to exchange to varchar`.| |max_ddl_affect_rows `v1.0.2`|0|int|Warning when the DDL affects rows more than the setting value, if setting `0`, no limit.| |max_insert_rows `v0.6.3`|0|int|The max rows than can be insert in one INSERT values. `0` means no limit.| |max_key_parts|3|int|The max columns can be contained in one index.| |max_keys|3|int|The max number of index can be contained in one table.| |max_primary_key_parts|3|int|The max columns can be contained in the primary key.| |max_update_rows|5000|int|Warning, when update/delete estimate the effect rows more the setting value.| |merge_alter_table|FALSE|true,false|If merge the alter SQL on the same table and warning.| |must_have_columns `v0.6.3`| |string|Setting the columns which must be contained in a new create table. Split by comma,format: column_name `[column_type,option]`| |skip_sqls `v1.0-rc3`| |string|Setting which sql can ignore review for compatible client.| |sql_mode `v1.2.4`| |string|Connection sql_mode.| |sql_safe_updates|-1|-1,0,1|Safe update. -1 means do nothing and followe the remote database. 0 means turn off. 1 means turn on.| |support_charset|utf8,utf8mb4|string|Charset support, split by comma.| |support_collation `v0.7`| |string|Collating support, split by comma.| |support_engine `v1.0-rc4`|innodb|string|Engines support, default innodb, split by comma.| |index_prefix `v1.2.0`|idx_|string|Index prefix default idx_ , related with the option of check_index_prefix. NULL means no limit.| |uniq_index_prefix `v1.2.0`|uniq_|string|Unique index prefix, default uniq_, related with check_index_prefix. NULL means no limit.| |table_prefix `v1.2.0`| |string|The prefix of table name. NULL means no limit.| |wait_timeout `v1.1.2`|0|int|The wait timeout of remote database. Default 0 seconds. Means use the database setting.|