我在用mysql
对于一个项目。当我执行“desc table_name”时,我看到表格输出显示了Null
该字段的值设置为No
,但随后“默认”设置为NULL
。一个字段怎么可以没有Null
但默认是Null
itself?
mysql> desc users;
+-----------------+------------------+------+-----+----------------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+------------------+------+-----+----------------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| email | varchar(255) | NO | | NULL | |
| password | varchar(255) | NO | | NULL | |
| remember_token | varchar(100) | YES | | NULL | |
| profile_pic | varchar(255) | YES | | img/profile/profilepic.jpg | |
| activation_code | varchar(255) | YES | UNI | NULL | |
| status_id | int(10) unsigned | NO | MUL | 1 | |
| profile_id | int(10) unsigned | YES | MUL | NULL | |
+-----------------+------------------+------+-----+----------------------------+----------------+
10 rows in set (0.00 sec)
这是一个完全合法的组合。这意味着当您尝试插入新行并且没有显式指定该列的值时,它将默认为null
从而出错。这种组合通常用作强制您向列显式分配值而不是仅依赖默认值的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)