有时候,我们想往数据库插入记录的时候,某些字段并不需要插入实际的值,保持它的NULL。
单独的SQL语句并不难写
Insert into table(field1,field2,field3) Values(data1,data2,NULL);
但是在程序中,data1,data2,data3往往是变量,我们需要这样拼出一句SQL语句
var1= data1; var2 = data2; var3 = data3;
"Insert into table(field1,field2,field3) Values("+var1+","+var2+","+var3+")";
如果var1,var2,var3均不为NULL的话,则生成的SQL语句没有问题:
Insert into tabel(field1,field2,field3) Values(data1,data2,data3);
如果var3为空的话,拼出的SQL语句就会为
Insert into table(field1,field2,field3) Values(data1,data2,);运行时会报错
此时,我们需要修改一下
"Insert into table(field1,field2,field3) Values("+var1+","+var2+","+(var3==null?"null":var3)+")";
这里表示如果var3位空的话,那么让拼接出的SQL语句为
Insert into table(field1,field2,field3) Values(data1,data2,null);
这样就不会报错了