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

MySQL कॉलम को NULL की अनुमति देने के लिए कैसे संशोधित करें?


NOT NULL कंस्ट्रेंट हटाने के लिए ALTER TABLE ... MODIFY का उपयोग करें

डिफ़ॉल्ट रूप से, MySQL कॉलम NULL मान अनुमति देते हैं जब तक कि NOT NULL निर्दिष्ट न हो। मौजूदा NOT NULL कंस्ट्रेंट को हटाने के लिए, कॉलम को उसी डेटा प्रकार के साथ MODIFY करें लेकिन NOT NULL के बिना।

चरण-दर-चरण उदाहरण

1. NOT NULL कंस्ट्रेंट के साथ टेबल बनाएं

mysql> CREATE TABLE AllowNullDemo (
    -> id INT NOT NULL
    -> );

2. रिकॉर्ड डालें (NULL के बिना)

mysql> INSERT INTO AllowNullDemo VALUES();
mysql> INSERT INTO AllowNullDemo VALUES();

नोट: मान प्रदान नहीं करने पर, MySQL संख्यात्मक प्रकारों के लिए 0 डालता है और चेतावनी देता है।

3. वर्तमान डेटा देखें

mysql> SELECT * FROM AllowNullDemo;
+----+
| id |
+----+
| 0  |
| 0  |
+----+

4. कॉलम को NULL अनुमति देने के लिए संशोधित करें

mysql> ALTER TABLE AllowNullDemo MODIFY COLUMN id INT;

5. अब NULL डालें

mysql> INSERT INTO AllowNullDemo VALUES();

6. सत्यापित करें

mysql> SELECT * FROM AllowNullDemo;
+------+
| id   |
+------+
| 0    |
| 0    |
| NULL |
+------+

सिंटैक्स

ALTER TABLE टेबल_नाम MODIFY COLUMN कॉलम_नाम डेटा_प्रकार;

महत्वपूर्ण विचार

  • डेटा प्रकार दोहराएं: आपको पूर्ण डेटा प्रकार निर्दिष्ट करना होगा (सिर्फ MODIFY COLUMN id काम नहीं करेगा)।
  • डेटा हानि नहीं: यह ऑपरेशन मौजूदा डेटा को संरक्षित करता है।
  • इंडेक्स प्रभाव: यदि कॉलम इंडेक्स का हिस्सा है, तो इंडेक्स NULL मानों को संभालेगा (InnoDB अनुमति देता है, कुछ स्टोरेज इंजन नहीं)।
  • विदेशी कुंजी: यदि यह कॉलम विदेशी कुंजी द्वारा संदर्भित है, तो पहले FK हटाएं।

विपरीत: NULL से NOT NULL में बदलना

-- पहले सुनिश्चित करें कि कोई NULL मान मौजूद नहीं हैं
UPDATE टेबल_नाम SET कॉलम_नाम = डिफ़ॉल्ट_मान WHERE कॉलम_नाम IS NULL;
-- फिर संशोधित करें
ALTER TABLE टेबल_नाम MODIFY COLUMN कॉलम_नाम डेटा_प्रकार NOT NULL;
  1. - MySQL में कॉलम का नाम कैसे खोजें?

    MySQL में कॉलम नाम खोजने के दो तरीके: SHOW COLUMNS और INFORMATION_SCHEMA MySQL में किसी टेबल के कॉलम नाम प्राप्त करने के दो मुख्य तरीके हैं: SHOW COLUMNS कमांड और INFORMATION_SCHEMA.COLUMNS टेबल। उदाहरण टेबल बनाना CREATE TABLE DemoTable603 ( ClientId INT NOT NULL AUTO_INCREMENT, ClientName

  1. - MySQL में कॉलम नाम कैसे बदलें (Rename)

    MySQL में कॉलम नाम बदलने के लिए ALTER और CHANGE कमांड का उपयोग करना होता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(100), StudentAge int ); Query OK, 0 rows affected (0.56 sec) टेबल का विवरण जांचें: mysql

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH