[MySQL] análisis de parámetros de mysql 5.7 sql_mode

mysql> seleccionar versión (); 
+ ------------ + 
| versión () | 
+ ------------ + 
| 5.7.32-log | 
+ ------------ + 
1 fila en el conjunto (0.00 seg) 

mysql> seleccione @@ GLOBAL.sql_mode; 
+ ------------------------------------------------- -------------------------------------------------- ---------------------------------------- + 
| @@ GLOBAL.sql_mode | 
+ ------------------------------------------------- -------------------------------------------------- ---------------------------------------- +
| ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION |
+ ------------------------------------------------- -------------------------------------------------- ---------------------------------------- + 
1 fila en conjunto (0.00 seg) 

ONLY_FULL_GROUP_BY 
Para SQL que usa GROUP BY para realizar consultas, los campos que no aparecen en GROUP BY no están permitidos en la parte SELECT, 
es decir , los campos en la consulta SELECT deben ser los que aparecen en GROUP BY o usan funciones agregadas o tienen atributos únicos. 

STRICT_TRANS_TABLES 
Esta opción es efectiva para motores de almacenamiento transaccional, pero no válida para motores de almacenamiento no transaccional Esta opción indica que el modo sql estricto está habilitado. 
En modo sql estricto, en una instrucción INSERT o UPDATE, si se inserta o actualiza un valor de campo no compatible, se informará un error directamente para interrumpir la operación. 

NO_ZERO_IN_DATE 
El valor del campo de hora insertado en MySQL y la fecha y el mes no pueden ser cero. 

NO_ZERO_DATE 
MySQL El valor del campo de tiempo insertado en la no permite que la fecha sea cero
Cuando esta opción está desactivada, el número se divide por 0, se obtiene NULL sin advertencia, 
cuando esta opción está habilitada y en modo sql no estricto, el número se divide por 0 y se obtiene NULL pero se genera una advertencia.
 
ERROR_FOR_DIVISION_BY_ZERO
En una instrucción INSERT o UPDATE, si los datos se dividen por 0, se producirá una advertencia (en modo sql no estricto) o un error (en modo sql estricto). 
Cuando esta opción está habilitada y en modo sql estricto, el número se divide por 0, se genera un error y se interrumpe la operación 
. La sintaxis GRANT se usa en la versión anterior de 

NO_AUTO_CREATE_USER . Si el usuario no existe, el usuario se creará automáticamente. Esta opción restringe esta función. 

NO_ENGINE_SUBSTITUTION 
está usando CREATE TABLE o Cuando la sintaxis ALTER TABLE ejecuta el motor de almacenamiento, si el motor de almacenamiento configurado está deshabilitado o no se compila, se producirá un error.


Supongo que te gusta

Origin blog.51cto.com/13598811/2590881
Recomendado
Clasificación