Heim  >  Artikel  >  Datenbank  >  Welche Rolle spielt der Datentyp, wenn ich eine leere Zeichenfolge in eine MySQL-Spalte einfüge, die als NOT NULL deklariert ist?

Welche Rolle spielt der Datentyp, wenn ich eine leere Zeichenfolge in eine MySQL-Spalte einfüge, die als NOT NULL deklariert ist?

WBOY
WBOYnach vorne
2023-09-09 22:29:021199Durchsuche

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

Wenn wir eine leere Zeichenfolge in eine als NOT NULL deklarierte MySQL-Spalte einfügen, hängt die Darstellung der leeren Zeichenfolge in der Ergebnismenge vom Datentyp ab. Wir wissen, dass wir MySQL beim Einfügen einer leeren Zeichenfolge den Wert bereitstellen, der als Ganzzahl als INT 0 dargestellt wird.

Wenn die Spalte nun den Datentyp INTEGER hat, zeigt MySQL im Ergebnissatz wie unten gezeigt 0 an. Die leere Zeichenfolge wurde der Ganzzahl Null zugeordnet.

Beispiel

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)

Wenn die Spalte jedoch einen anderen Datentyp hat (z. B. VARCHAR), zeigt MySQL im Ergebnissatz eine leere Zeichenfolge an.

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)

Aus dem obigen Beispiel können wir sehen, welche Rolle der Datentyp spielt, wenn wir eine leere Zeichenfolge in eine als NOT NULL deklarierte MySQL-Spalte einfügen.

Das obige ist der detaillierte Inhalt vonWelche Rolle spielt der Datentyp, wenn ich eine leere Zeichenfolge in eine MySQL-Spalte einfüge, die als NOT NULL deklariert ist?. 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