2016-05-23 15 views
0

Heute habe ich einen neuen Dev-Server für unser Projekt in einer neueren Version von MYSQL und PHP (5.7 für mysql, 5.6 für php 5.5) eingerichtet. Ich habe etwas seltsames entdeckt.Haben ältere Versionen von PHP/MYSQL Standardwerte für NOT NULL-Spalten?

Einige unserer Einfügungen (über das ORM-System von Kohana) enthalten keine Einträge für alle NOT NULL-Spalten ohne Standardwerte. Das verursacht seltsamerweise keinen Fehler im aktuellen Entwicklungsserver, die Zeilenspalte wird mit einer leeren Zeichenfolge gefüllt. Auf der anderen Seite verursacht es im neuen Server einen Fehler (vorhersagbar).

Die Codebasis ist die gleiche, mit der Kohana-Framework-Version 3. Nur um klar zu sein, ich bin ein neues Mitglied des Teams, ich war in keiner Weise in die Herstellung von diesem beteiligt.

+0

Nein, es gibt keine Änderung in der Sprache oder der Implementierung des Datenbankservers, die dies tun würde. Es ist wahrscheinlich, dass die Tabellenstruktur oder etwas in dem von Ihnen verwendeten ORM geändert wird. Würden Sie für diese Tabelle für jeden Server eine 'SHOW CREATE TABLE Tabellenname' erzeugen? Bitte bearbeiten Sie die Ausgabe mit einem Codeblock in Ihre Frage. – halfer

+1

danke für die Antwort, ich habe das Problem gefunden. Anscheinend wurde die App nicht im strikten Modus entwickelt. – elite5472

+0

Mysql 5.6 weiter Strict-Modus ist standardmäßig aktiviert, es verursachte die gleichen Probleme auf meinem neuen Server. – Faraz

Antwort

0

Nicht ideal, aber die gesamte Anwendung wurde ohne strikten Modus auf mysql entwickelt. Dies macht es so ausgelassen, dass nicht-Null-Spalten einen Standardwert wie eine leere Zeichenfolge erhalten.