কম্পিউটার টিউটোরিয়াল

MySQL에서 기존 테이블에 NOT NULL 컬럼 추가하기

이미 데이터가 있는 테이블에 NOT NULL 컬럼을 추가하려면 ALTER TABLE ... ADD COLUMN ... NOT NULL을 쓰되, 기본값(DEFAULT)을 지정하거나 기존 행에 값이 채워져 있어야 합니다.

테이블 생성

mysql> CREATE TABLE DemoTable (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.60 sec)

NOT NULL 컬럼 추가

mysql> ALTER TABLE DemoTable ADD COLUMN StudentAge INT NOT NULL;
Query OK, 0 rows affected (0.52 sec)
Records: 0  Duplicates: 0  Warnings: 0

데이터 삽입 시도

mysql> INSERT INTO DemoTable(StudentName,StudentAge) VALUES('Chris',21);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(StudentName,StudentAge) VALUES('David',23);
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable(StudentName,StudentAge) VALUES('Mike',NULL);
ERROR 1048 (23000): Column 'StudentAge' cannot be null

데이터 조회

mysql> SELECT * FROM DemoTable;
+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         1 | Chris       |         21 |
|         2 | David       |         23 |
+-----------+-------------+------------+
2 rows in set (0.00 sec)

중요: 기존 행이 있는 테이블에 NOT NULL 컬럼을 추가할 때 DEFAULT 값을 주지 않으면 MySQL 8.0+에서는 에러가 발생할 수 있습니다. ADD COLUMN StudentAge INT NOT NULL DEFAULT 0처럼 기본값을 주거나, 먼저 NULL 허용으로 추가 후 데이터 채우고 MODIFY COLUMN ... NOT NULL로 변경하세요.

  1. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  2. MySQL-এ ALTER TABLE MODIFY দিয়ে বিদ্যমান কলামে NOT NULL অ্যাট্রিবিউট সেট করা

  3. পাইথনে পান্ডাজ ডেটাফ্রেমে নতুন কলাম যোগ করা

  4. Pandas DataFrame-এ নতুন কলাম যোগ করা – insert() এবং assign()