在codeigniter中遇到问题。我有以下查询:加入codeigniter的Sql更新
UPDATE
tbl_print_title
INNER JOIN tbl_jp_lookups ON tbl_print_title.title_id = tbl_jp_lookups.id
SET
tbl_print_title.is_delete = 1,
tbl_jp_lookups.is_delete = 1
WHERE
tbl_print_title.id = 5
我想写在codeigniter的查询生成器结构中。它在phpmyadmin中工作正常。我尝试了以下,但它不起作用。请提供建议。
$this->db->set('prt.is_delete', '!is_delete');
$this->db->set('lk.is_delete', '!is_delete');
$this->db->where('prt.id',$id);
$this->db->update(TBL_PRINT_TITLE." as prt");
$this->db->join(TBL_JP_LOOKUPS." as lk", 'prt.title_id=lk.id');
if($this->db->affected_rows() > 0) {
return 1;
} else {
return 0;
}
给出一个错误: 错误编号:1054 未知列在“字段列表”“lk.is_delete” UPDATE'tbl_print_title'如'prt' SET'prt'.'is_delete' ='!is_delete','lk'.'is_delete' ='!is_delete'WHERE'prt'.'id' ='5' 文件名:D:/ xampp/htdocs/smartquote /system/database/DB_driver.php 行号:691 –
你会尝试编辑答案吗? –
生成此查询并引发错误。反引号删除可能会工作。我们可以在更新查询中防止反引号。 UPDATE'tbl_print_title为PRT INNER JOIN tbl_jp_lookups'为'LK ON prt'.'title_id = lk'.'id' SET'prt'.'is_delete' = '!is_delete','lk'.'is_delete' =' !is_delete'WHERE'prt'.'id' ='2' –