新しい列を追加し、条件を使用して別のテーブルの列からその値を更新する方法は?
名前の付いた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
新しい列を追加するための移行を作成しましたが、レール移行でこのクエリを実装する方法は?
何か見逃した場合は修正してください