Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:INT列的更新与插入_Mysql_Codeigniter_Integer - Fatal编程技术网

MySQL:INT列的更新与插入

MySQL:INT列的更新与插入,mysql,codeigniter,integer,Mysql,Codeigniter,Integer,Im目前正在使用CodeIgniters活动记录类更新MySQL表。其中一列是一个INT,它是我设置为NULL并将NULL字段设置为TRUE的默认值。当我插入一条记录并在表单中保留该特定字段为空时,没问题,它被设置为空。但是,当我使用表单中的空白字段进行更新时,MySQL将该值设置为0。是否有一种方法可以让MySQL以与插入相同的方式进行更新,即如果表单值为空,则将其设置为NULL而不是0 干杯您是否在数据库上运行跟踪,以查看SQL CodeIgniters向数据库发送的确切内容?听起来Code

Im目前正在使用CodeIgniters活动记录类更新MySQL表。其中一列是一个INT,它是我设置为NULL并将NULL字段设置为TRUE的默认值。当我插入一条记录并在表单中保留该特定字段为空时,没问题,它被设置为空。但是,当我使用表单中的空白字段进行更新时,MySQL将该值设置为0。是否有一种方法可以让MySQL以与插入相同的方式进行更新,即如果表单值为空,则将其设置为NULL而不是0


干杯

您是否在数据库上运行跟踪,以查看SQL CodeIgniters向数据库发送的确切内容?听起来CodeIgniters可能正在将零发送到MySQL…

最有可能的是将空字符串发送到数据库,因此它被转换为INT字段0-检查精确的SQL查询,例如,通过启用探查器:$this->output->enable_profilerTRUE在您的控制器中。如果是这种情况,请在模型中添加一个片段,在更新时将替换为NULL。

否,我已使用Firebug检查了POST值。不发送任何内容Firebug只查看浏览器正在执行的操作。Codeigniter在服务器上,Firebug无法访问。直接使用PHP进行检查,观察到相同的行为,因此它不是CI