Hodnota datetime zřejmě není platná MySQL Datetime . Existuje však práce kolem úpravy režimů SQL serveru .
Z nějakého důvodu byly na mém vývojovém serveru zcela odstraněny konfigurace výchozího režimu MySQL. Proto neexistovala žádná omezení, jak mohu vložit datum a čas.
mysql> select @@sql_mode;
+------------+
| @@sql_mode |
+------------+
| |
+------------+
1 row in set (0.00 sec)
Na druhé straně na produkčním serveru byla spousta omezení, která serveru mysql říkala, jaké formáty data a času má přijmout.
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 |
+-------------------------------------------------------------------------------------------------------------------------------------------+
Toto není bezpečná metoda, ale změnil jsem režimy omezení MySQL na no_engine_substitution
, a voila, všechno funguje jako kouzlo (téměř). Aby to fungovalo, musíte změnit režimy GLOBAL a SESSION.
Standardní režim SQL je 'NO_ENGINE_SUBSTITUTION', takže režim nastavíme na tento. Existuje více režimů, které můžete přidat do náročných:
SET GLOBAL sql_mode = '<mode>';
SET SESSION sql_mode = '<mode>';
Nyní by měl být režim GLOBAL a SESSION nastaven na NO_ENGINE_SUBSTITUTION
mysql> 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)