Select0ISNULL,0ISNOTNULL;+-----------+---------------+ | 0ISNULL|0ISNOTNULL|+------------+---------------+|"/> Select0ISNULL,0ISNOTNULL;+-----------+---------------+ | 0ISNULL|0ISNOTNULL|+------------+---------------+|">

 >  기사  >  데이터 베이스  >  NOT NULL로 정의된 MySQL 열에 0 또는 빈 문자열을 삽입하는 방법은 무엇입니까?

NOT NULL로 정의된 MySQL 열에 0 또는 빈 문자열을 삽입하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-09-19 13:57:141519검색

如何将零或空字符串插入到定义为 NOT NULL 的 MySQL 列中?

열을 "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은 값이 없음을 의미한다는 것을 알고 있기 때문입니다.

Example

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제