Beim Versuch, eine TEXT-Spalte mit einem Standardwert in MySQL zu erstellen, tritt ein Fehler auf Windows-Plattformen. Linux und andere Versionen geben jedoch nur eine Warnung aus. Diese Inkonsistenz hat zahlreiche Benutzer verwirrt und Spekulationen über die zugrunde liegenden Gründe ausgelöst.
Laut einem Thread im MySQL Bugtracker wird das Fehlen von Standardwerten für TEXT-Spalten nicht als Fehler angesehen. Allerdings können plattformübergreifende Verhaltensunterschiede zu Kompatibilitätsproblemen führen. Bryce Nesbitt, ein MySQL-Entwickler, stellte fest, dass diese Inkonsistenz auf die unterschiedlichen Strengestufen zwischen Windows und anderen Plattformen zurückzuführen ist.
Unter Windows wird die „no DEFAULT“-Regel als Fehler erzwungen, während dies auf anderen Plattformen der Fall ist wird oft als Warnung gewertet. Diese Ungleichheit kann zu Problemen führen, wenn auf einer milden Plattform geschriebener Code anschließend auf einer strikten Plattform ausgeführt wird.
Um dieses Problem zu mildern, können Entwickler den strikten Modus in MySQL 5 unter Windows deaktivieren, indem sie die Konfigurationsdatei /my.ini ändern . Dazu müssen die Einstellungen für den strikten Modus durch „sql_mode='MYSQL40'“ ersetzt und der MySQL-Dienst neu gestartet werden. Darüber hinaus können Root-/Administratorbenutzer die folgende Abfrage ausführen, um den strikten Modus global zu deaktivieren:
mysql_query("SET @@global.sql_mode='MYSQL40'");
Das obige ist der detaillierte Inhalt vonWarum fehlen MySQL-TEXT-Spalten auf einigen Plattformen Standardwerte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!