例如有表 table1 (a,b,c)其中字段c允许为空
那么下列sql有无区别:
insert into table1 value('33','33','NULL')
insert into table1 value('33','33',NULL)
insert into table1 value('33','33',null)
insert into table1 value('33','33','null')有区别吗?为什么?其它数据库也是一样的吗?

解决方案 »

  1.   

    插入'NULL',表示插入字符串'NULL'.与插入NULL,null不同.
    插入NULL与插入null一样,没区别,表示插入一个空值.
      

  2.   

    没区别.
    但是 insert into table1 value('33','33','null')你写的这个是插入字串,字串值为"null",而不是NULL常量insert into table1 value('33','33',null)
    这样才是不写值.另外
    insert into table1 value('33','33',null)
    与不写第三字段没有区别.但是在不带字段列表的写法中,必须保证表中列,否则会报列不匹配.除非显示指定要插入的列比如:
    insert into table1(a,b) value('33','33')
      

  3.   

    有区别哟插入'NULL',表示插入字符串'NULL'.与插入NULL,null不同.
    插入NULL与插入null一样,没区别,表示插入一个空值.