为了账号安全,请及时绑定邮箱和手机立即绑定

为什么用如下代码,每一列的默认值都是NULL


mysql> CREATE TABLE users(
    -> id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> name VARCHAR(20) NOT NULL,
    -> banji VARCHAR(20) NOT NULL,
    -> xuehao VARCHAR(12) NOT NULL,
    -> phone VARCHAR(20) NOT NULL,
    -> email VARCHAR(50) NOT NULL,
    -> PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected (1.21 sec)

使用

SHOW COLUMNS FROM users;

显示后,每一列的默认值都是NULL,我看书上的除了主键默认值是NULL,其他都是空着的啊。为什么我的和书上不一样?

正在回答

2 回答

因为你指定了每个字段为非空,但是没有指定每行的默认值,你把NOT NULL关键字取消掉就好了

0 回复 有任何疑惑可以回复我~
#1

云上枫间 提问者

我从新弄个表试了试,把NOT NULL取消了,显示结果默认的那一栏还是全是NULL,,,,,,
2016-07-05 回复 有任何疑惑可以回复我~

那是默认的吧,not null只是表示你插入数据时该字段不能为空,你数据都没插入何来null不null一说,null表示没有数据,你不插入还能给你来个空字符串?如果创建表后某列的值是空,那这空是哪里来的?系统给你自动加数据?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

为什么用如下代码,每一列的默认值都是NULL

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信