Einfügen von NULL in NOT NULL-Spalten mit dem Standardwert

Für ein bisschen Hintergrund verwenden wirZend Framework 2 undLehr auf Arbeit. Doctrine wird immer @ einfügNULL für Werte, die wir nicht selbst angeben. Normalerweise ist dies in Ordnung, als ob das Feld einen Standardwert hätte. Dann SOLLTE es das Feld mit diesem Standardwert füllen.

Für einen unserer Server mitMySQL 5.6.16 Eine Abfrage wie die folgende wird ausgeführt und ordnungsgemäß ausgeführt. ObwohlNULL wird in ein Feld eingefügt, das nicht nullwertfähig ist. MySQL füllt das Feld mit seinem Standardwert beim Einfügen.

uf einem anderen unserer Server läuftMySQL 5.6.20, wir führen die folgende Abfrage aus und sie fällt um, weil sie beschwert, dass 'field_with_default_value' NICHT null sein KANN.

INSERT INTO table_name(id, field, field_with_default_value) 
VALUES(id_value, field_value, NULL);

Doctrine selbst unterstützt die Übergabe von "DEFAULT" an die von ihm erstellten Abfragen nicht, sodass dies keine Option ist. Ich denke, dies muss eine Art MySQL-Server sein, da es in einer Version in Ordnung ist, in einer anderen aber nicht, aber ich habe leider keine Ahnung, woran das liegen könnte. Unser SQL-Modus ist auch auf beiden Servern identisch 'NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION').

Ich sollte wahrscheinlich erwähnen, dass wenn ich die obige SQL in Workbench tatsächlich laufen lasse, es immer noch nicht auf die gleiche Weise funktioniert. Es handelt sich also nicht wirklich um ein Doctrine-Problem, sondern definitiv um eine Art MySQL-Problem.

Jede Hilfe hierzu wäre sehr dankbar.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage