1

我正在使用 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()做到这一点?这可能吗?

谢谢你看看这个。问候。

4

2 回答 2

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');
于 2013-02-06T07:35:38.623 回答
1

您需要将 $this->db->query() 用于更复杂的事情

转义、安全等方面没有区别。Active Record 只是将不同的字符串格式化为单个查询字符串。

于 2013-02-06T00:39:15.433 回答