一个SQL insert语句,表单中的数据不是必须全都填,怎么写?
添加一个房源信息,但是内容比较多,可以选填,但是insert into building values(???)怎么写呢 

解决方案 »

  1.   

    比如说表A有字段id, name, age, nation 其中age可以选填,这时你的sql可以这样写:
    insert into A (id, name, nation)values(1, "test", "C")
    还可以用动态的,如:
    insert into A(id, name, <dynamic><isNotEmpty property="age">age,</isNotEmpty ></dynamic>nation values(1, "test", <dynamic><isNotEmpty property="age">#age#,</isNotEmpty></dynamic> "c")
      

  2.   

    有几个填写个。就算你语句写了填所有的,那有些为空的它自动会填入NULL
      

  3.   

    可以选填的,将表中的字段值与插入的值对应起来的就成,不过要注意的插入值单双引号的问题,上次用ACCESS做,在这个问题耗了一个下午。。
      

  4.   

    insert into A (id, name, nation)values(?,?,?)
      

  5.   

    既然字段定义是非空,肯定要填的,要不然修改字段定义。其他的可以选填,用 values()
      

  6.   

    为啥不把数据表列属性"null"勾选ENABLE!
      

  7.   


    非空字段必须要, 其他的你想要什么就A (id, name, nation)里面填,insert into A (id, name, nation)values(?,?,?)
    mysql 的id如果是pk auto increment 可以不要
    如果是oracle,可以用序列自动增长pk
    insert into A (id, name, nation)values(sequencename.nextval,?,?)
      

  8.   


    非空字段必须要, 其他的你想要什么就A (id, name, nation)里面填,insert into A (id, name, nation)values(?,?,?)
    mysql 的id如果是pk auto increment 可以不要
    如果是oracle,可以用序列自动增长pk
    insert into A (id, name, nation)values(sequencename.nextval,?,?)