sql中怎么设置默认值

借阅状态 char(4) check(借阅状态 in('已借','未借'))default('未借'),
我这样写 可是错了

1、首先新建一个学生表:student,需求:字段password的默认值是1213142。

2、如果正常插入值,需要手动添加密码,但是如果有大量的字段可以使用默认值,那么语句会显得有点臃肿。

3、现在我们设置字段password默认值,如图所示,实际上是创建了一个约束,所以图中的 df_pwd_stu 表示的是约束的名称,这时我们自定义的。

4、再次插入,这时可以忽略我们已经设置默认值字段的值了,因为插入的时候回数据库会帮我们插入默认值。完成效果图。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-18

命名为:

alter table tablename alter column drop default; (若本身存在默认值,则先删除)

alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)

eg:

alter table `t_member_base_ext` alter member_autograph drop default; 

alter table `t_member_base_ext` alter member_autograph set default null;

-  t_member_base_ext 表名

-  member_autograph 表字段

扩展资料:

注意事项

一、ONLY_FULL_GROUP_BY  
对于使用 GROUP BY 进行查询的SQL,不允许 SELECT 部分出现 GROUP BY 中未出现的字段,也就是 SELECT 查询的字段必须是 GROUP BY 中出现的或者使用聚合函数的或者是具有唯一属性的。

二、STRICT_TRANS_TABLES  

该选项针对事务性存储引擎生效,对于非事务性存储引擎无效,该选项表示开启strict sql模式。在strict sql模式下,在INSERT或者UPDATE语句中,插入或者更新了某个不符合规定的字段值,则会直接报错中断操作。

三、NO_ZERO_IN_DATE  

MySQL中插入的时间字段值,不允许日期和月份为零。

四、NO_ZERO_DATE  

MySQL中插入的时间字段值,不允许日期为零。

五、ERROR_FOR_DIVISION_BY_ZERO  

INSERT或者UPDATE语句中,如果数据被0除,则出现警告(非strict sql模式下)或者错误(strict sql模式下)。

第2个回答  2015-04-10

方法1:sightml字段增加默认值 

alter table tablename alter column sightml set default 123;

方法2:更改sql语句 

SELECT COUNT(*) AS `行数`, if(`sightml`,`sightml`,123) as sightml FROM `cdb_memberfields` GROUP BY `sightml` ORDER BY `sightml`

第3个回答  2015-03-27
ADD COLUMN `state`  varchar(255) NOT NULL DEFAULT 未借;

第4个回答  推荐于2017-12-16
可以用decode;
select decode(字段名, '已借', 1, '未借', 2) from 表名;
这是查询;
初始你可以在表的设计里有一列“默认值”中设置默认为“2”,即未借。本回答被网友采纳
相似回答