複数のテーブルからプルしてテーブルに挿入し、作成されたカテゴリに基づいてムードルのデータベースにロールの割り当てを作成しようとしていますが、重複キーで更新する必要がありますが、フィールドが試行しているため ON DUPLICATE KEY UPDATE を使用できませんロール ID、コンテキスト ID、およびユーザー ID で照合するには、mdl_role_assignments テーブルの主キーではありません。
insert into vclassmoodle.mdl_role_assignments (roleid,contextid,userid,timemodified,modifierid,itemid,sortorder) select
mdl_role.id as roleid, mdl_context.id as contextid, mdl_user.id as userid, unix_timestamp() as timemodified, 3 as modifierid, 0 as itemid, 0 as sortorder
from
mdl_context
left join
mdl_course_categories ON mdl_context.instanceid = mdl_course_categories.id
left join
mdl_user ON mdl_course_categories.idnumber = mdl_user.idnumber
join
mdl_role ON mdl_role.shortname = 'manager'
where mdl_context.contextlevel = 40 and mdl_course_categories.depth > 1
何か明確にする必要がある場合はお知らせください
ありがとう