Maison >base de données >tutoriel mysql >Pourquoi les colonnes MySQL TEXT manquent-elles de valeurs par défaut sur certaines plates-formes ?
Lorsque vous tentez de créer une colonne TEXTE avec une valeur par défaut dans MySQL, une erreur se produit sur Plateformes Windows. Cependant, Linux et les autres versions émettent uniquement un avertissement. Cette incohérence a laissé de nombreux utilisateurs perplexes et suscité des spéculations sur les raisons sous-jacentes.
Selon un fil de discussion dans MySQL Bugtracker, l'absence de valeurs par défaut pour les colonnes TEXT n'est pas considérée comme un bug. Cependant, les différences de comportement entre les plates-formes peuvent entraîner des problèmes de compatibilité. Bryce Nesbitt, un développeur MySQL, a noté que cette incohérence provient des différents niveaux de rigueur entre Windows et d'autres plates-formes.
Sous Windows, la règle "pas de DEFAUT" est appliquée comme une erreur, tandis que sur d'autres plates-formes, elle est souvent traité comme un avertissement. Cette disparité peut causer des problèmes lorsque du code écrit sur une plate-forme clémente est ensuite exécuté sur une plate-forme stricte.
Pour atténuer ce problème, les développeurs peuvent désactiver le mode strict dans MySQL 5 sous Windows en modifiant le fichier de configuration /my.ini. . Cela implique de remplacer les paramètres du mode strict par "sql_mode='MYSQL40'" et de redémarrer le service MySQL. De plus, les utilisateurs root/admin peuvent exécuter la requête suivante pour désactiver le mode strict globalement :
mysql_query("SET @@global.sql_mode='MYSQL40'");
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!