Heim  >  Artikel  >  Datenbank  >  Warum wird jedes Mal, wenn ich eine leere Zeichenfolge in eine als NOT NULL deklarierte MySQL-Spalte einfüge, 0 anstelle der leeren Zeichenfolge angezeigt?

Warum wird jedes Mal, wenn ich eine leere Zeichenfolge in eine als NOT NULL deklarierte MySQL-Spalte einfüge, 0 anstelle der leeren Zeichenfolge angezeigt?

WBOY
WBOYnach vorne
2023-08-30 08:01:14966Durchsuche

为什么每当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,它显示 0 而不是空字符串?

Das liegt daran, dass das Einfügen einer leeren Zeichenfolge bedeutet, dass wir einen Wert anstelle von NULL einfügen. Die leere Zeichenfolge wird offensichtlich als Ganzzahl auf Null abgebildet. Mit anderen Worten können wir sagen, dass wir MySQL durch das Einfügen der leeren Zeichenfolge einen ganzzahligen Wert bereitstellen, der als INT 0 dargestellt wird. Betrachten Sie das folgende Beispiel, in dem wir eine leere Zeichenfolge eingefügt haben und diese von MySQL als 0 zugeordnet wird.

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)

Das obige ist der detaillierte Inhalt vonWarum wird jedes Mal, wenn ich eine leere Zeichenfolge in eine als NOT NULL deklarierte MySQL-Spalte einfüge, 0 anstelle der leeren Zeichenfolge angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen