空值与非空值
NULL 字段值可以为空
NOT NULL 字段值禁止为空
mysql> CREATE TABLE four(
-> username VARCHAR(20) NOT NULL,
-> age TINYINT UNSIGNED NULL 如果这个字段为空NULL可以不用书写;
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW COLUMNS FROM FOUR; 查看数据结构;
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| username | varchar(20) | NO | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+----------+---------------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> INSERT four values ('yu',null); 添加记录 是否为空;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM four;
+----------+------+ 当前age为空;
| username | age |
+----------+------+
| yu | NULL |
+----------+------+
1 row in set (0.00 sec)
mysql> INSERT four VALUES (NULL,21); 这里报错 用户名禁止为空;
ERROR 1048 (23000): Column 'username' cannot be null
mysql>