दो तरीके: निर्माण के समय या ALTER TABLE से
केस 1: टेबल निर्माण के समय
CREATE TABLE yourTableName (
yourColumnName dataType NOT NULL,
...
);
उदाहरण:
mysql> CREATE TABLE NotNullAtCreationOfTable (Id INT NOT NULL, Name VARCHAR(100)); mysql> INSERT INTO NotNullAtCreationOfTable VALUES (NULL, 'John'); -- ERROR 1048 mysql> INSERT INTO NotNullAtCreationOfTable VALUES (1, 'Carol'); -- OK
केस 2: मौजूदा टेबल में ALTER TABLE से जोड़ें
ALTER TABLE yourTableName ADD yourColumnName dataType NOT NULL;
उदाहरण:
mysql> CREATE TABLE AddNotNull (Id INT, Name VARCHAR(100)); mysql> ALTER TABLE AddNotNull ADD Age INT NOT NULL; mysql> DESC AddNotNull;
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(100) | YES | | NULL | | | Age | int(11) | NO | | NULL | | +-------+--------------+------+-----+---------+-------+
NULL डालने का प्रयास:
mysql> INSERT INTO AddNotNull VALUES (1, 'John', NULL); -- ERROR 1048 mysql> INSERT INTO AddNotNull VALUES (NULL, NULL, 23); -- OK
महत्वपूर्ण: मौजूदा टेबल में NOT NULL कॉलम जोड़ते समय, यदि टेबल में पहले से पंक्तियाँ हैं, तो MySQL डिफ़ॉल्ट मान की मांग करेगा या त्रुटि देगा। उपरोक्त उदाहरण में टेबल खाली थी इसलिए सफल रहा।