Maison >base de données >tutoriel mysql >Pourquoi les colonnes MySQL TEXT manquent-elles de valeurs par défaut sur certaines plates-formes ?

Pourquoi les colonnes MySQL TEXT manquent-elles de valeurs par défaut sur certaines plates-formes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 02:49:09940parcourir

Why Do MySQL TEXT Columns Lack Default Values on Some Platforms?

Pourquoi une colonne de texte ne peut-elle pas avoir une valeur par défaut dans MySQL ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn