NOT NULL と宣言された MySQL カラムに空の文字列を挿入する場合、データ型はどのような役割を果たしますか?

WBOY
リリース: 2023-09-09 22:29:02
転載
1274 人が閲覧しました

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

NOT NULL として宣言された MySQL カラムに空の文字列を挿入すると、結果セット内の空の文字列の表現はデータ型によって異なります。空の文字列を挿入するときに、整数として表される値を INT 0 として MySQL に提供することがわかっています。

カラムのデータ型が INTEGER の場合、MySQL は以下に示すように結果セットに 0 を表示します。空の文字列は整数の 0 にマップされています。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート