我在使用phpMYadmin插入一条信息时,如果需要填写数据的任何一个字段为空的话就会插入不成功,这个是什么原因呢?如果这个是因为建表时引起的,那怎么能不改变数据库现行设置下,使用PHP语句改掉这个问题呢?谢谢

解决方案 »

  1.   

    不更改数据库配置,
    就在php拼凑SQL语句的时候,
    指定个不为空的默认值。
      

  2.   

    定义数据库表的字段时,给默认的设置。
    例如:
    CREATE TABLE `test` (
      `testId` INT(11) NOT NULL AUTO_INCREMENT,
      `testTitle` CHAR(20) DEFAULT '333',
      PRIMARY KEY (`testId`)
    ) ENGINE=MYISAM AUTO_INCREMENT=1
    当然 phpmyadmin 以及mysql 客服端上都可以在图形界面修改的.
      

  3.   

    现在的问题是我要广泛用于很多数据库,不能一个一个改啊,最好是怎么用php改下
      

  4.   

    任何一个字段为空的话就会插入不成功,的原因时你定义字段时声明了 NOT NULL
    为缓解这一矛盾,你可以开列所有字段(自增的主键除外),给无值的字段赋 '' 值
      

  5.   

    也不竟然,NULL 在很多场合下都是很有用的,否则数据库也没有必要设置这样一个属性。虽然可能给操作带来不便通常我们认为 0(int)、''(char)为空,但他与 null 是有区别的
    前者表示输入了但值为空,而后者表示根本没有输入
    藉此我们可以检查到数据的完备性当设置为 not null 时,应该同时设置初值 default。这样就可以避免楼主出现的问题对于楼主的“现在的问题是我要广泛用于很多数据库,不能一个一个改啊”
    可以这样做
    1、SHOW COLUMNS 取得表信息
    2、ALTER TABLE 修改表信息