Das Deklarieren einer Spalte als „NOT NULL“ bedeutet, dass die Spalte keine NULL-Werte, aber Null (0) akzeptiert und die leere Zeichenfolge selbst ein Wert ist. Wenn wir also eine Null oder eine leere Zeichenfolge in eine MySQL-Spalte einfügen möchten, die als NOT NULL definiert ist, gibt es kein Problem. Dies wird deutlich, wenn man 0 und den leeren String mit NULL vergleicht -
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)
Die obige Ergebnismenge zeigt, dass Null (0) nicht NULL ist. Dies bedeutet, dass Null (0) selbst ein Wert ist, da wir wissen, dass NULL keinen Wert bedeutet.
mysql> Select '' IS NULL, '' IS NOT NULL; +------------+----------------+ | '' IS NULL | '' IS NOT NULL | +------------+----------------+ | 0 | 1 | +------------+----------------+ 1 row in set (0.00 sec)
Die obige Ergebnismenge zeigt, dass die leere Zeichenfolge (‘’) nicht NULL ist. Das bedeutet, dass die leere Zeichenfolge ('') selbst ein Wert ist, da wir wissen, dass NULL keinen Wert bedeutet.
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)
Wie Sie der obigen Ergebnismenge entnehmen können, können wir Null (0), eine leere Zeichenfolge („“), in eine Spalte einfügen, die als NOT NULL deklariert ist.
Das obige ist der detaillierte Inhalt vonWie füge ich eine Null oder eine leere Zeichenfolge in eine MySQL-Spalte ein, die als NOT NULL definiert ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!