修改某一个字段的默认值为0,SQL语句怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改某一个字段的默认值为0,SQL语句怎么写相关的知识,希望对你有一定的参考价值。

ALTER TABLE 表名  CHANGE `xxx` `xxx` INT(11) DEFAULT 0 NOT NULL   COMMENT 'xxx';

里面的xxx就是你要改的字段名,default后面的0就是默认值,当写入数据没有传这个字段的时候,会自动填充0.

参考技术A 使用Default属性,设置默认值。

sql 新增 加1的语句怎么写

sql = "update CxInfo set C_Read=1 where id = "&CxId我想在sql执行上面这条语句后,再在C_User这张表里面的C_Level字段的值加1
(C_Level的值默认是0,新增一条后就加1)
顺便问下减1的语句怎么写,感激不尽

一种可以使用递增的数据类型。
比如新增一个字段,设为数字类型,然后规则里选递增1,这样就是每增加一笔资料,该字段就加1,永远不会重复。
另一种不适用递增的数据类型。
比如新增一个字段,设为数字类型,但不用设置递增规则,当新增资料时,先用sql找出当前最大的数字,再加1插入,范例sql如下:
insert into table select max(id)+1 from table;
参考技术A sql="update C_User set C_Level=C_Level+1 where id = "&CxId //这个是+1的

sql="update C_User set C_Level=C_Level-1 where id = "&CxId //这个是-1的追问

我的字段里面本来值是0的话 执行成功了也没什么效果,
本来值是1的话执行了就加1了
我看到有人在说isnull(C_Level,0)这函数 但是我套上去出错了 请问下 怎么回事啊
下面是错误信息
用于函数参数的个数不对 在查询表达式 'isnull(C_Level,0) + 1'

追答

这个明显不是0啊 代表这个字段是空 ,+1肯定是没效果的 不知道你用的什么数据库
如果是oracle 的话 就这么写
nvl(C_Level,0)

追问

我的access啊

追答

明白了 这么写就可以
update C_User set C_Level= IsNull(C_Level,0)+1 where id=100000

本回答被提问者采纳
参考技术B sql = "update CxInfo set C_Read=1 where id = "&CxId
sql= sql & " update c_user set C_Level=C_Level+1 "

如果SQL可以写在一起

如果是ACCESS好像不能写一起.
2个语句要分开执行
-1么 第二句换成-1追问

我的字段里面本来值是0的话 执行成功了也没什么效果,
本来值是1的话执行了就加1了
我看到有人在说isnull(C_Level,0)这函数 但是我套上去出错了 请问下 怎么回事啊
下面是错误信息
用于函数参数的个数不对 在查询表达式 'isnull(C_Level,0) + 1'

参考技术C sql = "update CxInfo set C_Read=C_Read+1 where id = "&CxId
你看了这个加1还不会减1?追问

我的字段里面本来值是0的话 执行成功了也没什么效果,
本来值是1的话执行了就加1了
我看到有人在说isnull(C_Level,0)这函数 但是我套上去出错了 请问下 怎么回事啊
下面是错误信息
用于函数参数的个数不对 在查询表达式 'isnull(C_Level,0) + 1'

以上是关于修改某一个字段的默认值为0,SQL语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章

找到数据库中所有默认为0的字段,然后将默认值改为null,这个mysql语句该怎么写?

sql 更改默认值

SQL语句问题(关于日期加减与字段加减)

如何设置access数据表的字段默认值为0

mysql默认值问题(高分!!!)

sqlserver 下 修改表的某个字段默认值语法是怎么样的