Im当前正在使用CodeIgniters活动记录类来更新MySQL表。其中一列是INT,它是我设置为NULL的默认值,并将NULL字段设置为TRUE。当我在表单中插入一条记录并将该特定字段留空时,没有问题,它被设置为NULL。但是,当我在表单中的字段为空时进行更新时,MySQL将该值设置为0。有没有办法让MySQL像INSERT一样解释更新,即如果表单值为空,它会将其设置为NULL而不是0?
干杯
发布于 2011-06-08 06:08:56
最有可能的是空字符串'‘被发送到数据库,因此它被转换为INT字段作为0- check精确的SQL查询(例如,通过在控制器中启用profiler:$this->output->enable_profiler(TRUE) )。如果是这样的话,向您的模型添加一个代码片段,它将在更新时用NULL替换'‘。
发布于 2011-06-08 02:19:14
您是否对数据库运行了跟踪,以查看SQL CodeIgniters向数据库发送的确切内容?听起来像是CodeIgniters要向MySQL发送0..。
https://stackoverflow.com/questions/6269746
复制相似问题