열을 "NOT NULL"로 선언한다는 것은 해당 열이 NULL 값을 허용하지 않지만 0을 허용하고 빈 문자열 자체가 값임을 의미합니다. 따라서 NOT NULL로 정의된 MySQL 열에 0 또는 빈 문자열을 삽입하려는 경우에는 문제가 없습니다. 이는 0과 빈 문자열을 NULL과 비교하면 명확해집니다. -
mysql> Select 0 IS NULL, 0 IS NOT NULL; +-----------+---------------+ | 0 IS NULL | 0 IS NOT NULL | +-----------+---------------+ | 0 | 1 | +-----------+---------------+ 1 row in set (0.00 sec)
위 결과 집합은 0이 NULL이 아님을 보여줍니다. 이는 NULL이 값이 없음을 의미한다는 것을 알고 있으므로 0 자체가 값임을 의미합니다.
mysql> Select '' IS NULL, '' IS NOT NULL; +------------+----------------+ | '' IS NULL | '' IS NOT NULL | +------------+----------------+ | 0 | 1 | +------------+----------------+ 1 row in set (0.00 sec)
위 결과 집합은 빈 문자열('')이 NULL이 아님을 보여줍니다. 이는 빈 문자열('') 자체가 값임을 의미합니다. NULL은 값이 없음을 의미한다는 것을 알고 있기 때문입니다.
mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test6(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav'); Query OK, 3 rows affected, 1 warning (0.08 sec) Records: 3 Duplicates: 0 Warnings: 1 Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 3 mysql> Select * from test; +----+--------+ | id | Name | +----+--------+ | 1 | Gaurav | | 0 | Rahul | | 0 | Aarav | +----+--------+ 3 rows in set (0.00 sec)
위 결과 집합에서 볼 수 있듯이 NOT NULL로 선언된 열에 빈 문자열("")을 0으로 삽입할 수 있습니다.
위 내용은 NOT NULL로 정의된 MySQL 열에 0 또는 빈 문자열을 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!