首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

JSP 留言板,SQL server2008的设置初值的有关问题

2012-12-17 
JSP 留言板,SQL server2008的设置初值的问题语句是:String sqlINSERT INTO note VALUES((select MAX(id)

JSP 留言板,SQL server2008的设置初值的问题
语句是:
String sql="INSERT INTO note VALUES((select MAX(id) from note)+1,?,?,?)";
当没有插入数据时,select MAX(id) from note结果是null,所以,当note表里没有数据时,留言不到。
我想当note里没有数据时,id值默认值为0,怎么做?
[最优解释]
当MAX(id)的值为null时,赋值1,这样就不会出现null值而导致程序insert没结果
[其他解释]
String sql="INSERT INTO note VALUES(isnull((select MAX(id) from note)+1,1),?,?,?)";
[其他解释]

引用:
String sql="INSERT INTO note VALUES(isnull((select MAX(id) from note)+1,1),?,?,?)";


好感动!!谢谢。可以了。但是我想知道是这个语句是什么呢?
[其他解释]
引用:
当MAX(id)的值为null时,赋值1,这样就不会出现null值而导致程序insert没结果

    你在解释String sql="INSERT INTO note VALUES(isnull((select MAX(id) from note)+1,1),?,?,?)";这句话的意思吗?还是……
[其他解释]
引用:
引用:当MAX(id)的值为null时,赋值1,这样就不会出现null值而导致程序insert没结果
    你在解释String sql="INSERT INTO note VALUES(isnull((select MAX(id) from note)+1,1),?,?,?)";这句话的意思吗?还是……
是的....因为我看到你貌似是问这句话是什么意思
[其他解释]
引用:
引用:引用:当MAX(id)的值为null时,赋值1,这样就不会出现null值而导致程序insert没结果
    你在解释String sql="INSERT INTO note VALUES(isnull((select MAX(id) from note)+1,1),?,?,?……

isnull((select MAX(id) from note)+1,1)这句,
我还是需要分解听
isnull是来判断这个语句select MAX(id) from note是否为null?
((select MAX(id) from note)+1,1)后面的1是如果select MAX(id) from note是为null就赋值为1?
[其他解释]
isnull判断括号里面的值是否为null,如果为null,则使用isnull(xxx,xxx)红字的那个值来代替。
[其他解释]
你可以做个实验:
declare @a varchar(10) 
 set @a=NULL
 SELECT ISNULL(@a,1)

这句话就是说,如果变量@a为null则以1代替

[其他解释]
引用:
你可以做个实验:
declare @a varchar(10) 
 set @a=NULL
 SELECT ISNULL(@a,1)

这句话就是说,如果变量@a为null则以1代替


真的非常感谢

热点排行