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.
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
danke für die Antwort, ich habe das Problem gefunden. Anscheinend wurde die App nicht im strikten Modus entwickelt. – elite5472
Mysql 5.6 weiter Strict-Modus ist standardmäßig aktiviert, es verursachte die gleichen Probleme auf meinem neuen Server. – Faraz