Mysql
 sql >> Base de données >  >> RDS >> Mysql

définir le sql_mode global dans mysql

BTW, si vous définissez des variables globales dans MySQL :

SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';

Cela ne le définira pas de manière PERMANENTE , et il reviendra après chaque redémarrage.

Vous devez donc le définir dans votre fichier de configuration (par exemple, /etc/mysql/my.cnf dans la section [mysqld]), afin que les modifications restent effectives après le redémarrage de MySQL :

Fichier de configuration :/etc/mysql/my.cnf

[mysqld] 
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

MISE À JOUR :Les versions plus récentes de Mysql (par exemple, 5.7.8 ou supérieure) peuvent nécessiter une syntaxe légèrement différente :

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

Assurez-vous qu'il y a un tiret entre sql-mode pas un trait de soulignement, et que les modes sont entre guillemets doubles.

Référencez toujours la MySQL Docs pour votre version pour voir les options du mode SQL .