我正在使用 PostgreSQL 和 Codeigniter。数据库中有一个名为 folio 的表。它也包含很少的列remarks1, remarks2, remarks3
。当第一次执行 INSERT 语句时,将插入所有其他列的数据。
当我稍后尝试对以下 3 列执行下面的 UPDATE 语句时,remarks1
列得到正确更新。但remarks2, remarks3
列更新为''
.
UPDATE "folio" SET "remarks1" = 'test remark', "remarks2" = '', "remarks3" = '' WHERE "id" = '51';
鉴于remarks1, remarks2, remarks3
列数据类型是character varying
. 我正在使用 Codeigniter 活动记录。一次可以更新所有 3 列,否则可以根据用户输入更新单个列。
可能是什么问题?我怎样才能解决这个问题?为什么列更新为''
?
根据要求,CI中的php数组将在下面
$data = array(
'remark1' => $this->input->post('remark1'),
'remark2' => $this->input->post('remark1'),
'remark3' => $this->input->post('remark1')
);
保存数据的函数仅包含以下两行
$this->db->where('id', $folio_id);
$this->db->update('folio', $data);