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

MySQL में मौजूदा टेबल पर NOT NULL कंस्ट्रेंट कैसे लागू करें

मौजूदा MySQL टेबल के किसी कॉलम पर ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग करके NOT NULL कंस्ट्रेंट जोड़ा जा सकता है।

सिंटैक्स

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

उदाहरण

test123 टेबल बनाकर ID कॉलम पर NOT NULL लागू करना:

mysql> CREATE TABLE test123(ID INT, Date DATE);
Query OK, 0 rows affected (0.19 sec)

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | YES  |     | NULL    |       |
| Date  | date    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+

mysql> ALTER TABLE test123 MODIFY ID INT NOT NULL;
Query OK, 0 rows affected (0.54 sec)

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | NO   |     | NULL    |       |
| Date  | date    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+

परिणाम विश्लेषण

  • Null कॉलम YES से NO में बदल गया
  • <ली>अब ID कॉलम में NULL मान इन्सर्ट/अपडेट नहीं कर सकते
  • मौजूदा डेटा में NULL नहीं होना चाहिए (वरना एरर - पिछला लेख देखें)

वैकल्पिक सिंटैक्स (MySQL 8.0.13+)

ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;

संयुक्त ऑपरेशन

एक साथ NOT NULL और DEFAULT सेट करना:

ALTER TABLE test123 MODIFY ID INT NOT NULL DEFAULT 0;

सत्यापन

DESCRIBE table_name;
-- Null = NO दिखना चाहिए

-- टेस्ट इन्सर्ट
INSERT INTO test123 (Date) VALUES ('2024-01-01');
-- एरर: Field 'ID' doesn't have a default value
  1. - MySQL में ALTER TABLE MODIFY से मौजूदा कॉलम पर NOT NULL कंस्ट्रेंट जोड़ना

    MySQL में पहले से बने कॉलम पर NOT NULL कंस्ट्रेंट जोड़ने के लिए ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग किया जाता है, जिसमें कॉलम परिभाषा दोहराई जाती है और NOT NULL जोड़ा जाता है। उदाहरण के लिए टेबल बनाना (StudentName बिना NOT NULL) mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AU

  1. - MySQL कॉलम को NOT NULL कंस्ट्रेंट में कैसे बदलें? ALTER TABLE MODIFY

    कंस्ट्रेंट अपडेट करने के लिए MODIFY कमांड का उपयोग करें। सिंटैक्स: ALTER TABLE yourTableName MODIFY yourExistingColumnName yourExistingDataType NOT NULL; टेबल बनाएं mysql> create table DemoTable ( -> UserId INT NOT NULL AUTO_INCREMENT, -> UserFirstName VARCHAR(100), -> User

  1. - MySQL में ALTER TABLE का उपयोग करके मौजूदा कॉलम पर NOT NULL विशेषता सेट करें

    MySQL में मौजूदा कॉलम को NOT NULL बनाना मौजूदा कॉलम पर NOT NULL प्रतिबंध जोड़ने के लिए, ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग करें जिसमें कॉलम परिभाषा में NOT NULL शामिल हो। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) UserName पर NOT NULL प्रतिबंध जोड़ना MODIFY UserName VARCHAR(20) NO