sql 新增 加1的语句怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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'

oracle 中字段作为变量的语句怎么写

参考技术A 比如
insert
into
table
a
(a1,b1)values("a1",'');
对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用
select
*
from
a
where
b1='';
sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字
is和not
应该如此使用:
select
*
from
a
where
b1
is
null
或者:
select
*
from
a
where
b1
is
not
null

以上是关于sql 新增 加1的语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL表中新增字段指定位置,SQL语句该怎么写?

mysql新增字段语句

oracle 查找某字段中含有回车换行的记录,请问怎么写SQL?

oracle 中字段作为变量的语句怎么写

oracle查询日期字段大于某个日期值时sql语句怎么写

sql语句 在某个字段中批量增加一个字母的命令怎么写