是否使用Zend_Db模块等效于以下SQL?
UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
...多表UPDATE语句可以使用允许的任何类型的连接 SELECT语句,例如LEFT JOIN。
答案 0 :(得分:3)
您始终可以执行查询字符串。
$db->query("UPDATE items,month SET items.price=month.price WHERE items.id=month.id")
免责声明:我没有测试过。
答案 1 :(得分:1)
使用MySQL,您可以JOIN
使用UPDATE
(左,右或内),就像使用SELECT
语句一样。
您的代码如下所示:
$sql = <<<END
UPDATE table1
INNER JOIN table2 ON table1.id = table2.other_id
SET table1.newvalue = 'value'
WHERE table1.id = 99
AND table2.other_value = 'value'
END;
$result = $db->query($sql);
$result
变量将包含与适配器类型相关的对象。我使用PDO_MYSQL,所以最终得到了一个Zend_Db_Statement_Pdo
对象。