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.