0

如何添加新列并使用条件从另一个表的列更新其值?

我有两个表名为user

id: integer
name: string
preferred_communication_channel_id: integer  // stores the id of communication_channel

和表communication_channel存储不同的通信渠道,如电子邮件、电话等。user

id: integer
user_id:  integer 
type: string

现在我需要communication_modeuser表中添加新列

并使用一些约束更新列communication_modecommunication_channel.type

这是更新的mysql版本

update user as p
join communication_channel as cc 
on p.preferred_communication_channel_id = cc.id and p.id=cc.user_id and cc.type="Telephone" 
set p.communication_mode=3

我创建了一个迁移来添加新列,但是如何在 rails 迁移中实现这个查询?

如果我遗漏了什么,请纠正我

4

1 回答 1

0

在迁移中,您只需编写execute "SELECT * FROM bananas"SQL 即可!

于 2013-05-24T10:45:26.610 回答