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

MySQL में CHAR(1) कॉलम में NULL कैसे डालें?

MySQL में CHAR(1) कॉलम में NULL डालना: sql_mode सेटिंग

MySQL के सख्त मोड (STRICT_TRANS_TABLES) में, CHAR(1) कॉलम में NULL डालने पर चेतावनी मिल सकती है लेकिन मान डल जाता है। sql_mode को उचित रूप से सेट करके इसे नियंत्रित किया जा सकता है।

उदाहरण: Gender CHAR(1) NULL कॉलम में NULL डालें

टेबल बनाएं:

CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(50),
    Gender CHAR(1) NULL
);

sql_mode सेट करें और NULL डालें

SET sql_mode = 'STRICT_TRANS_TABLES';

INSERT INTO DemoTable (Name, Gender) SELECT 'Chris', NULL;
INSERT INTO DemoTable (Name, Gender) SELECT 'David', NULL;
INSERT INTO DemoTable (Name, Gender) SELECT 'Mike', 'M';

परिणाम:

+----+-------+--------+
| Id | Name  | Gender |
+----+-------+--------+
| 1  | Chris | NULL   |
| 2  | David | NULL   |
| 3  | Mike  | M      |
+----+-------+--------+

sql_mode समझें

  • STRICT_TRANS_TABLES — ट्रांजैक्शनल टेबल के लिए सख्त मोड: अमान्य मान पर त्रुटि (चेतावनी नहीं)
  • STRICT_ALL_TABLES — सभी टेबल के लिए सख्त मोड
  • डिफॉल्ट MySQL 5.7+ में STRICT_TRANS_TABLES सक्षम होता है

CHAR(1) में NULL vs खाली स्ट्रिंग

NULLखाली स्ट्रिंग ''
अर्थमान अज्ञात/अनुपस्थितमान ज्ञात है लेकिन खाली
स्टोरेजNULL बिटमैप में 1 बिट1 बाइट (CHAR के लिए निश्चित)
LENGTH()NULL0

सिफारिश

  • CHAR(1) के बजाय ENUM('M','F') या TINYINT उपयोग करें
  • NULL अनुमति दें यदि लिंग वैकल्पिक है
  • एप्लिकेशन लेवल पर मान्यकरण करें
  1. Java का उपयोग करके MySQL डेटाबेस में डेटा कैसे डालें Java का उपयोग करके MySQL डेटाबेस में डेटा कैसे डालें

    MySQL डेटाबेस में डेटा डालने के लिए, INSERT कमांड का उपयोग करें। सिंटैक्स इस प्रकार है - INSERT INTO yourTableName(yourColumnName1,........yourColumnNameN) VALUES (Value1,Value2,......ValueN); यहां, मैं JAVA प्रोग्रामिंग भाषा के साथ MySQL डेटाबेस में रिकॉर्ड्स डाल रहा हूँ। पहले, हमें MySQL में एक ट

  1. Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें Java में PreparedStatement का उपयोग करके MySQL DATE कॉलम में डेट इन्सर्ट कैसे करें

    Java PreparedStatement से MySQL DATE कॉलम में डेट इन्सर्ट करना Java से MySQL DATE कॉलम में वर्तमान डेट इन्सर्ट करने के लिए PreparedStatement और java.sql.Date का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( PassengerId INT, PassengerName VARCHAR(40), ArrivalD

  1. Java PreparedStatement से MySQL में NULL मान डालें Java PreparedStatement से MySQL में NULL मान डालें

    Java JDBC में PreparedStatement.setNull(parameterIndex, sqlType) का उपयोग करके MySQL कॉलम में SQL NULL मान डालें। टेबल बनाएं mysql> CREATE TABLE DemoTable1893 (FirstName VARCHAR(20)); Java कोड import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import j