0

新しい列を追加し、条件を使用して別のテーブルの列からその値を更新する方法は?

名前の付いた2つのテーブルがあります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_modeここで、userテーブルに新しい列を追加する必要があります

そして、いくつかの制約を使用して列のcommunication_mode値を更新しますcommunication_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

新しい列を追加するための移行を作成しましたが、レール移行でこのクエリを実装する方法は?

何か見逃した場合は修正してください

4

1 に答える 1