आप sql_mode
के साथ खेल सकते हैं व्यवहार को बदलने के लिए कैसे MySQL अमान्य तिथि को संभालता है।
MySQL मैनुअल के अनुसार , ऐसा तब होता है जब आप गलत दिनांक मान डालते हैं:
तो शून्य मान डाला जाता है और आपको वास्तव में इसके बारे में चेतावनी मिलती है। आप देख सकते हैं कि show warnings
. के साथ आदेश।
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
show warnings
-- Warning 1264 Out of range value for column 'date' at row 1
यदि आपको इसकी आवश्यकता है, तो आप अमान्य मान को संग्रहीत करने के लिए इस व्यवहार को बदल सकते हैं (MySQL मैनुअल ):
उदाहरण के लिए, निम्नलिखित कार्य करना चाहिए:
set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
या, आप डेटा लोड करें या त्रुटि की रिपोर्ट करने के लिए सम्मिलित करें:
उदाहरण:
set @@sql_mode='traditional';
insert into TableName (`date`) values ('2015-02-29');
Error Code: 1292. Incorrect date value: '2015-02-29' for column 'date' at row 1