Answers:
db_update()
没有实现带有join()
/ innerJoin()
/ etc的任何接口。方法,所以我认为您在db_query()
手动使用和写入查询字符串方面遇到了麻烦。
$sql = "
UPDATE field_data_field_TEST as ft
left join node as n on ft.entity_id = n.nid
set n.type = :type1
where n.type = :type2";
$args = array(':type1' => 'test', ':type2' => 'foo');
db_query($sql, $args);
db_query()
。如果您想严格遵守文档,那么可以选择带有子查询的条件。但是正如您所说,这将比使用直接的SQL查询性能更低,对我而言,没有比使用直接的SQL查询更好的了
Update
它没有实现任何join
功能,在这种情况下仍需要使用通用查询。