>  기사  >  데이터 베이스  >  NOT NULL로 선언된 MySQL 열에 빈 문자열을 삽입할 때 데이터 유형은 어떤 역할을 합니까?

NOT NULL로 선언된 MySQL 열에 빈 문자열을 삽입할 때 데이터 유형은 어떤 역할을 합니까?

WBOY
WBOY앞으로
2023-09-09 22:29:021259검색

当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,数据类型起什么作用?

NOT NULL로 선언된 MySQL 열에 빈 문자열을 삽입하면 결과 집합에서 빈 문자열의 표현은 데이터 유형에 따라 달라집니다. 우리는 빈 문자열을 삽입할 때 INT 0과 같은 정수로 표현된 값을 MySQL에 제공한다는 것을 알고 있습니다.

이제 열에 INTEGER 데이터 유형이 있으면 MySQL은 아래와 같이 결과 집합에 0을 표시합니다. 빈 문자열은 정수 0에 매핑되었습니다.

Example

mysql> create table test(id int NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)

mysql> Insert into test(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> Select * from test;
+----+--------+
| id | Name   |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|  0 | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

그러나 열에 다른 데이터 유형(예: VARCHAR)이 있으면 MySQL은 결과 집합에 빈 문자열을 표시합니다.

mysql> create table test123(id Varchar(10) NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)

mysql> Insert into test123(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> Select * from test123;
+----+--------+
| id | Name   |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|    | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

위의 예에서 NOT NULL로 선언된 MySQL 열에 빈 문자열을 삽입할 때 데이터 유형이 어떤 역할을 하는지 확인할 수 있습니다.

위 내용은 NOT NULL로 선언된 MySQL 열에 빈 문자열을 삽입할 때 데이터 유형은 어떤 역할을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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