[英]Sql Update with join in codeigniter
在 codeigniter 中遇到了一个问题。 我有以下查询:
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;
}
如下更新您的代码,首先加入表,然后更新
$this->db->set('prt.is_delete', '!is_delete');
$this->db->set('lk.is_delete', '!is_delete');
//$this->db->join(TBL_JP_LOOKUPS." as lk", 'prt.title_id=lk.id');
$this->db->where('prt.id',$id);
$this->db->update(TBL_PRINT_TITLE." as prt INNER JOIN ". TBL_JP_LOOKUPS." as lk ON prt.title_id = lk.id");
if($this->db->affected_rows() > 0) {
return 1;
} else {
return 0;
}
使用以下命令。 这将首先定义别名,然后执行操作
$this->db->update(TBL_PRINT_TITLE." as prt");
$this->db->join(TBL_JP_LOOKUPS." as lk", 'prt.title_id=lk.id');
$this->db->set('prt.is_delete', '!is_delete');
$this->db->set('lk.is_delete', '!is_delete');
$this->db->where('prt.id',$id);
if($this->db->affected_rows() > 0) {
return 1;
} else {
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.