sql_model解决什么痛点
原来mysql数据的插入或更新均是宽松的模式,引入sql_model后,通过sql_model参数的设置,注重的数据的校验,有效保护数据,引入了严格模式。
sql_model在mysql8版本中my.ini可以配置以下值
sql_model=STRICT_ALL_TABLES,STRICT_TRANS_TABLES,ALLOW_INVALID_DATES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,PIPES_AS_CONCAT,IGNORE_SPACE,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,NO_AUTO_VALUE_ON_ZERO,NO_UNSIGNED_SUBTRACTION,PAD_CHAR_TO_FULL_LENGTH,REAL_AS_FLOAT,TIME_TRUNCATE_FRACTIONAL
或者可以省事一些的角色配置模式 宽松模式 sql_model=ANSI 严格模式 sql_model=TRADITIONAL
| 角色 | 包含参数 |
|---|---|
| ANSI | REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY |
| TRADITIONAL | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE |