sql_mode remove permanently only_full_group_by no_zero_date no_engine_substitution no_auto_create_user error_for_division_by_zero desactivar cnf mysql sql-mode

mysql - remove - sql_mode error_for_division_by_zero no_auto_create_user no_engine_substitution



MySQL: configurando sql_mode permanentemente (2)

A través del cliente de línea de comandos de MySQL, estoy tratando de establecer el mysql_mode global:

SET GLOBAL sql_mode = TRADITIONAL;

Esto funciona para la sesión actual, pero después de reiniciar el servidor, sql_mode vuelve a su valor predeterminado: '''', una cadena vacía.

¿Cómo puedo establecer de forma permanente sql_mode en TRADITIONAL?

Si es relevante, el MySQL es parte del paquete WAMP.

Gracias.


Agregue esto a su archivo my.cnf (o my.ini si está usando Windows):

sql_mode="TRADITIONAL"

y reiniciar el servidor


MySQL sql_mode "TRADITIONAL" , también conocido como "modo estricto", se define en los documentos de MySQL como:

"Dar un error en lugar de una advertencia" al insertar un valor incorrecto en una columna.

Aquí se explica cómo asegurarse de que su sql_mode esté configurado en "TRADITIONAL" .

Primero, revisa tu configuración actual:

mysql mysql> SELECT @@GLOBAL.sql_mode; +-------------------+ | @@GLOBAL.sql_mode | +-------------------+ | | +-------------------+ 1 row in set (0.00 sec)

Esto se devolvió en blanco, el valor predeterminado, eso es malo: su sql_mode no está establecido en "TRADICIONAL".

Así que edita el archivo de configuración:

sudo vim /etc/mysql/my.cnf

Agregue esta línea en la sección etiquetada [mysqld] : sql_mode="TRADITIONAL" (como señala fancyPants)

Luego reinicie el servidor:

sudo service mysql restart

A continuación, vuelva a comprobar:

mysql mysql> SELECT @@GLOBAL.sql_mode; +------------------------------------------------------------------------------------------------------------------------------------------------------+ | @@GLOBAL.sql_mode | +------------------------------------------------------------------------------------------------------------------------------------------------------+ | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)

¡Éxito! Ahora eres dorado.