'2013-08-25T17:00:00+00:00'
এটি একটি বৈধ iso-8601 ডেটটাইম মান, তবে এটি কোনও বৈধ মাইএসকিউএল ডেটটাইম আক্ষরিক নয় । সেই সময়ে, বিকাশকারী ভুল is
ডকুমেন্টেশন ব্যাখ্যা করেন কি ALLOW_INVALID_DATES
করে:
মাসটি 1 থেকে 12 এর মধ্যে এবং দিনটি 1 থেকে 31 এর মধ্যে রয়েছে তা কেবল পরীক্ষা করুন Check
অন্য কথায়, 2013-02-31
যদি allow_invalid_dates
সেট করা থাকে তবে অনুমতিযোগ্য তারিখ হবে । তারিখ বা তারিখের সময়টি মাইএসকিউএলের জন্য কোনও বৈধ বিন্যাসে না থাকলে এই বিকল্পটি কিছুই করে না।
+00:00
সময় অঞ্চল থেকে অফসেট হয় ইউটিসি । এই ক্ষেত্রে, সময় প্রকাশ মধ্যে , ইউটিসি তাই অফসেট শূন্য ঘন্টা, শূন্য মিনিট।
আপনার কাজটি হ'ল মাইএসকিউএল 5.6 ইনস্টলেশন প্রক্রিয়া চলাকালীন তৈরি করা কনফিগারেশন ফাইলে এটির একটি ডিফল্ট STRICT_TRANS_TABLES
থেকে মুছে ফেলা হবে sql_mode
... আপনার এই পরিবর্তনটির কী কী প্রভাব রয়েছে তা সাবধানতার সাথে বিবেচনা করা উচিত তবে এটি ডেটাটিকে প্রবেশ করতে দেয় না।
mysql> select @@sql_mode;
+--------------------------------------------+
| @@sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)
mysql> insert into datetimetest(dt) values ('2013-08-26T12:00:00+00:00');
ERROR 1292 (22007): Incorrect datetime value: '2013-08-26T12:00:00+00:00' for column 'dt' at row 1
-- remove STRICT_TRANS_TABLES -- note that executing this only removes it for your
-- current session -- it does not make a server-wide config change
mysql> set @@sql_mode='no_engine_substitution';
Query OK, 0 rows affected (0.00 sec)
mysql> select @@sql_mode;
+------------------------+
| @@sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)
-- now MySQL will accept the invalid value, with a warning
mysql> insert into datetimetest(dt) values ('2013-08-26T12:00:00+00:00');
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+-----------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------+
| Warning | 1265 | Data truncated for column 'dt' at row 1 |
+---------+------+-----------------------------------------+
1 row in set (0.00 sec)
-- the value did get inserted, but the time zone information was lost:
mysql> select * from datetimetest;
+----+---------------------+
| id | dt |
+----+---------------------+
| 1 | 2013-08-26 12:00:00 |
+----+---------------------+
1 row in set (0.00 sec)