Définition de SQL_MODE global dans MySQL : modes multiples, avantages et approche préférée
Lorsqu'ils tentent de définir SQL_MODE globalement dans MySQL, les utilisateurs peuvent rencontrer une erreur. Cette erreur soulève des questions sur la méthode correcte pour définir plusieurs modes, les avantages de la définition des modes session et global, ainsi que l'approche préférée.
N'est-ce pas la bonne façon de définir plusieurs modes ?
La commande fournie, set global sql_mode='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION', n'est pas la syntaxe correcte pour définir plusieurs valeurs SQL_MODE globalement. L'approche correcte consiste à combiner les modes souhaités à l'aide de virgules entre guillemets doubles.
Exemple :
SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Quels sont les avantages de la définition de session et global modes ?
Approche préférée
L'approche préférée pour définir SQL_MODE dépend des exigences spécifiques :
Exemple de définition permanente de SQL_MODE global
Dans le Fichier de configuration MySQL (/etc/mysql/my.cnf) :
[mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!