在sql2008里插入一条记录,假定这个表就一个字段:line,现在我想让这个line自动加1.
insert into tb (line) values isnull(max(line),0)+1
这条语句在数据库里执行,提示“line”无效。这个line是max(line),这是怎么回事儿?我的数据库里有数据,当我单独执行这句话的时候检索结果没问题:select isnull(max(line),0)+1 as line from tb
insert into tb (line) values isnull(max(line),0)+1
这条语句在数据库里执行,提示“line”无效。这个line是max(line),这是怎么回事儿?我的数据库里有数据,当我单独执行这句话的时候检索结果没问题:select isnull(max(line),0)+1 as line from tb
select isnull(max(line),0)+1 from tb
确实是这样写就没问题,可是不明白为什么不能用values
所以必须
insert into tb (line) values ((select isnull(max(line),0)+1 as line from tb))
values是以行为单位的结构输入,且要是确切数据的