strict_trans_tables sql_mode operación only_full_group_by no_auto_value_on_zero modo desactivar cómo cambiar cambia mysql sql-server server xampp

sql_mode - ¿Cómo activar/desactivar el modo estricto de MySQL en localhost(xampp)?



set sql_mode no_auto_value_on_zero (4)

Quiero saber cómo verificar si el modo estricto de MySQL está activado o desactivado en localhost (xampp).

Si está activado entonces para qué modos y cómo desactivar.

Si está apagado entonces cómo hacerlo.

Ya seguí http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-full y https://mariadb.com/kb/en/mariadb/sql_mode/ y otros sitios relacionados también. Pero no obtuve una respuesta exacta para mi pregunta.


-> STRICT_TRANS_TABLES es responsable de configurar el modo estricto de MySQL.

-> Para verificar si el modo estricto está habilitado o no, ejecute el siguiente sql:

SHOW VARIABLES LIKE ''sql_mode'';

Si uno de los valores es STRICT_TRANS_TABLES , entonces se habilita el modo estricto, de lo contrario no. En mi caso dio

+--------------+------------------------------------------+ |Variable_name |Value | +--------------+------------------------------------------+ |sql_mode |STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION| +--------------+------------------------------------------+

Por lo tanto, el modo estricto está habilitado en mi caso ya que uno de los valores es STRICT_TRANS_TABLES .

-> Para deshabilitar el modo estricto ejecute el siguiente sql:

set global sql_mode='''';

[o cualquier modo excepto STRICT_TRANS_TABLES. Ej: set global sql_mode = ''NO_ENGINE_SUBSTITUTION'';]

-> Para habilitar nuevamente el modo estricto, ejecute el siguiente sql:

set global sql_mode=''STRICT_TRANS_TABLES'';


Para cambiarlo permanentemente en ubuntu haz lo siguiente

en la linea de comando de ubuntu

sudo nano /etc/mysql/my.cnf

Luego agrega lo siguiente

[mysqld] sql_mode=


Primero, verifique si el modo estricto está habilitado o no en mysql usando:

SHOW VARIABLES LIKE ''sql_mode'';

Si quieres desactivarlo:

SET sql_mode = '''';

o se puede configurar cualquier otro modo, excepto el siguiente. Para habilitar el modo estricto:

SET sql_mode = ''STRICT_TRANS_TABLES'';

Puedes consultar el resultado de la primera consulta mysql.


Puede verificar su valor local y global con:

SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;