Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL टेबल में इन्सर्ट करते समय गलत डेटाटाइम वैल्यू एरर कैसे ठीक करें?


गलत डेटाटाइम वैल्यू एरर से बचने के लिए, आप STR_TO_DATE() मेथड का उपयोग कर सकते हैं।

जैसा कि हम जानते हैं, डेटाटाइम फॉर्मेट YYYY-MM-DD होता है और यदि आप इसी फॉर्मेट में इन्सर्ट नहीं करेंगे, तो एरर उत्पन्न होगी।

आइए देखते हैं कि वास्तव में इस एरर का कारण क्या है। इसके लिए, आइए एक नई टेबल बनाते हैं। टेबल बनाने की क्वेरी निम्नलिखित है:

mysql> create table CorrectDatetimeDemo
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ArrivalTime DATETIME
    -> ); Query OK, 0 rows affected (0.63 sec)

गलत डेटाटाइम फॉर्मेट वाली डेट को शामिल करने का प्रयास करने पर एरर होती है:

mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES('18/02/2019 11:15:45');
ERROR 1292 (22007): Incorrect datetime value: '18/02/2019 11:15:45' for column 'ArrivalTime' at row 1

उपरोक्त एरर से बचने के लिए, आप STR_TO_DATE() का उपयोग कर सकते हैं।

सिंटैक्स निम्नलिखित है:

INSERT INTO yourTableName(yourDateTimeColumnName) VALUES (STR_TO_DATE('yourDateTimeValue', '%d/%m/%Y %H:%i:%s'));

अब, उपरोक्त सिंटैक्स में दिखाए गए सही फॉर्मेट के साथ फिर से डेटाटाइम इन्सर्ट करें।

क्वेरी निम्नलिखित है:

mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('18/02/2019 11:15:45', '%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('15/01/2017 10:10:15', '%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO CorrectDatetimeDemo(ArrivalTime) VALUES(STR_TO_DATE('12/04/2016 15:30:35', '%d/%m/%Y %H:%i:%s')); Query OK, 1 row affected (0.20 sec)

SELECT स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें।

क्वेरी निम्नलिखित है:

mysql> SELECT * FROM CorrectDatetimeDemo;

निम्नलिखित आउटपुट है:

+----+---------------------+
| Id | ArrivalTime         |
+----+---------------------+
| 1  | 2019-02-18 11:15:45 |
| 2  | 2017-01-15 10:10:15 |
| 3  | 2016-04-12 15:30:35 |
+----+---------------------+
3 rows in set (0.00 sec)

  1. - MySQL में फ़ील्ड वैल्यू 0 से अधिक होने पर 1 घटाना कैसे करें?

    आप इसके लिए UPDATE कमांड के साथ CASE स्टेटमेंट का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Value int ); Query OK, 0 rows affected (1.44 sec) इन्सर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डाल

  1. - MySQL उत्पाद टेबल से उत्पादों का कुल मूल्य कैसे गणना करें?

    MySQL में मात्रा × मूल्य का योग से कुल उत्पाद मूल्य निकालें आइए पहले एक टेबल बनाते हैं: create table DemoTable ( ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductQuantity int, ProductPrice int ); Query OK, 0 rows affected (0.19 sec) इन्सर्ट कमांड से टेबल में कुछ रिकॉर्ड डालें:

  1. - MySQL में टेबल संरचना को कैसे क्लोन करें?

    MySQL में क्लोन करने के लिए LIKE क्लॉज का उपयोग करें। उदाहरण टेबल बनाएं: mysql> create table DemoTable1 ( -> StudentId int, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.55 sec) रिकॉर्ड डालें: mysql> insert into DemoTable1 values(100, John); Query OK, 1 r