Ⅰ 求一sql语句:使用左连接,没有满足条件的记录会自动赋null值,请问如何修改使默认值为0
距离table1 两列 a b,table2 两列 b,c 。
select t1.*,(case when t2.c is null then 0 else t2.c end) as c 。
from table1 t1 left join table2 t2 on(t1.b=t2.b)。
Ⅱ SQL2000中,要把数据库里的所有表中的Int类型字段的默认值设置成"0",语句怎么写
ALTER TABLE tablename ADD CONSTRAINT [aaa]
DEFAULT (0) FOR [字段]
Ⅲ 修改某一个字段的默认值为0,SQL语句怎么写
ALTERTABLE表名CHANGE`xxx``xxx`INT(11)DEFAULT0NOTNULLCOMMENT'xxx';
里面的xxx就是你要改的字段名,default后面的0就是默认值,当写入数据没有传这个字段的时候,会自动填充0.
Ⅳ ACCESS中SQL语句修改字段默认值
ACCESS修改字段默认值的SQL语句写法如下:
altertable[table]altercolumn[numbers]longdefault1
但是请注意ACCESS数据库中的SQLJet引擎的默认语法为“ANSI-89SQL”语法,其数据定义功能比较弱,它不支持设置字段的默认值属性。
如果要以运行SQL数据定义语言的方法修改字段的默认值,就必须使用“ANSI-92SQL”语法。
那么在ACCESS数据库中如何实现SQL语句修改字段默认值呢?解决办法由两种:
1)使用ADO数据访问对象运行SQL数据定义查询语句
打开VBE编辑器——工具——引用
勾选“MicrosoftActiveXDataObjects2.1Library"或更高版本点击“确认”按钮
在ACCESS窗体的某个事件过程里(例如命令按钮单击事件)编写下列代码:
PrivateSubCommand0_Click()
DimcnAsNewADODB.Connection
Setcn=CurrentProject.Connection
cn.Execute"altertable[table]altercolumn[numbers]longdefault1"'此句修改默认值
EndSub
这样既可实现在ACCESS中用SQL语句修改字段默认值了。
2)将ACCESS数据库的SQL语法改为“ANSI-92SQL”
菜单——工具——选项设置SQL语法请参见下图:
这样前面给出的SQL语句就可以在ACCESS中直接运行了,因为已经转换了语法。这里给出的是ACCESS2003设置“SQL语法”的方法,若是2007、2010具体步骤会不太相同,但是基本原理是相通。
说明:
推荐使用第一种方法。至于第二种方法除非是新建数据库时就进行语法转换,否则最好避免使用。因为这样很可能会导致原来已经建立的查询运行结果不正确甚至无法运行,还可能导致其他设置出问题,例如有效性规则等不一而足。
这可是老鸟支招,如果感觉有用能给加点分吗?
Ⅳ sql语句中修改字段的默认值,该怎么做
1、选择要修改字段的表,右键选择设计;
Ⅵ sql 更改默认值
命名为:
alter table tablename alter column drop default; (若本身存在默认值,则先删除)
alter table tablenamealter 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 表字段
(6)sql修改表字段默认值为0扩展阅读:
注意事项
一、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模式下)。
Ⅶ 如何使用SQL语句修改字段默认值
alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定默认值go例:alter table T_ping drop constraint DF_T_ping_p_c alter table T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_cgoalter table with check T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c alter table with nocheck T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c 两者的区别是If you do not want to verify new CHECK or FOREIGN KEY constraints against existing data, use WITH NOCHECK. This is not recommended except in rare cases. The new constraint will be evaluated in all future updates. 对于要建立约束的两个表,如果其中的一个已有数据,把在创建时检查现有数据选项设置为是将告诉SQL SERVER:当开始具体创建约束时,要对表中现有的数据进行检查。如果现有数据符合约束的定义,则约束被成功加入到表中源码天空