MySQL的default约束用法

在sql最基本的curd语句使用熟练后,我开始发现提高数据库的稳定性和易用性需要一些其他的东西,比如constraint(约束)。

我就一个没经过数据加密的user表演示一下default约束的用法。

建表语句中使用

1
2
3
4
5
6
create table user(
id int(11) not null auto_increment,
username varchar(255) default null,
status varchar(255) default "active";
primary key (id)
) engine=InnoDB default charset=utf8;

已有表结构?使用alter插入字段

1
alter table user add status varchar(255) default "active";

有默认值的表如何添加数据

那么表结构已经有了default约束,在插入值的时候如何处理字段的默认值呢?
传入null?空字符串?或者是不填?都不行!

答案是传入default关键字,表示插入字段预设的默认值。

1
insert into user values(null, "c", "c", default);

你想覆盖default约束传入自定义值? 填写对应类型的值就行了。


参考链接:
SQL DEFAULT Constraint