繁体   English   中英

如何为通用表表达式 (CTE) 格式的多个表编写更新查询?

[英]How to write an UPDATE Query for multiple tables in Common Table Expressions (CTE's) format?

我如何将以下 UPDATE 语句重写为通用表表达式 (CTE) 格式?

DB::statement('UPDATE taggables, threads SET taggables.created_at = threads.created_at, taggables.updated_at = threads.updated_at WHERE taggables.thread_id = threads.id');

我真的不明白在这里使用 CTE 的意义。 由于您的目的似乎是从threads更新可taggables ,我建议简单地使用Postgres 的 update/join 语法,如下所示:

update taggables ta
set created_at = th.created_at, updated_at = th.updated_at
from threads th
where ta.thread_id = th.id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM