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

主键约束不是默认为NOT NULL吗,为什么老师可以设成null?

我按照视频插入记录时显示id 不能为NULL

mysql> insert users3 values (NULL,'Tom','123',25,1);
ERROR 1048 (23000): Column 'id' cannot be null

正在回答

3 回答

用null表示不为它赋值,保持默认值,和default一样

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

因为老师的还添加了AUTO_INCREMENT,这个是使id自增的,所以不用我们去赋值,在给其他字段赋值时,假如不写null,只给其他赋值的话会提示字段名称与输入的字段内容不匹配。或者你也可以使用insert users3 set username='Tom',password='123',age=25这样的插入记录

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

检查一下你的id是不是设成自增的主键, 没有设AUTO_INCREMENT就不能为null. 

下面这个就能运行

CREATE TABLE users (
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20),
);
INSERT users VALUES(NULL,'Tom');


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

举报

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

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

进入课程

主键约束不是默认为NOT NULL吗,为什么老师可以设成null?

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