我正在使用CodeIgniter并希望创建一个更新多个表的MySQL查询:
UPDATE TABLE1, TABLE2
SET
TABLE1.NAME='Teddy',
TABLE2.CLIENT_NOTES = 'Teddy is a good guy'
WHERE VISITOR.ID = 1
如何使用CodeIgniter的 db-> update()和 db-> where()? 这可能吗?
感谢您查看此内容。 问候。
答案 0 :(得分:3)
首先,您需要为表格添加别名,例如table1 as t1
和table2 as t2
因此,您的最终查询将变为这样,
$this->db->set('t1.row','New value');
$this->db->set('t2.row','New value');
$this->db->where('t1.row','Your Condition');
$this->db->where('t2.row','Your Condition');
$this->db->update('table1 as t1, table2 as t2');
答案 1 :(得分:2)
你需要使用$ this-> db-> query()来处理更复杂的事情
在转义,安全性等方面没有区别.Active Record只是将不同的字符串格式化为单个查询字符串。