我正在尝试从数据库中删除关联表。它包含引用表a和b的两列(a_id和b_id)。
这个表是不必要的,因为实际上它是OneToMany关系。所以我在表b中添加了列a_id。
我的问题:如何将现有的entrys从assoc_a_b转移到b.a_id?
SELECT DISTINCT b.id, a.id FROM table_a AS a
JOIN assoc_a_b AS assoc ON a.id = assoc.a_id
JOIN table_b AS b ON b.id = assoc.b_id;
此select语句有效。它可以与UPDATE语句结合使用吗? UPDATE语句看起来像:
UPDATE b SET a_id = a.id WHERE id = b.id;
使用上面的select语句中的a.id和b.id。
答案 0 :(得分:1)
更新b设置a_id =(从assoc_a_b中选择assoc_a_b.a_id,其中assoc_a_b.b_id = b.id)