Anscheinend ist der datetime-Wert kein gültiger MySQL Datetime . Aber es gibt eine Möglichkeit, die Server-SQL-Modi .
Aus irgendeinem Grund wurden auf meinem Entwicklungsserver die MySQL-Standardmoduskonfigurationen vollständig entfernt. Daher gab es keine Einschränkungen, wie ich die Datumszeit einfügen konnte.
mysql> select @@sql_mode;
+------------+
| @@sql_mode |
+------------+
| |
+------------+
1 row in set (0.00 sec)
Auf dem Produktionsserver hingegen gab es eine Menge Einschränkungen, die dem MySQL-Server mitteilten, welche Arten von Datetime-Formaten akzeptiert werden sollten.
mysql> select @@sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
Dies ist keine sichere Methode, aber ich habe die MySQL-Einschränkungsmodi auf no_engine_substitution
geändert , und voila, alles funktioniert (fast) wie am Schnürchen. Sie müssen die Modi GLOBAL und SESSION ändern, damit dies funktioniert.
Der Standard-SQL-Modus ist 'NO_ENGINE_SUBSTITUTION', also setzen wir den Modus darauf. Es gibt noch mehr Modi, die Sie hinzufügen könnten:
SET GLOBAL sql_mode = '<mode>';
SET SESSION sql_mode = '<mode>';
Jetzt sollten der GLOBAL- und der SESSION-Modus auf NO_ENGINE_SUBSTITUTION
eingestellt seinmysql> SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';
mysql> SELECT @@SESSION.sql_mode;
+------------------------+
| @@SESSION.sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)
mysql> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------+
| @@GLOBAL.sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)