ここは私のクエリです。 compare_moodle
を同期させることができる方法INSERT INTOクエリでデータベースを同期する方法
INSERT INTO compare_moodle
(userid,
username,
firstname,
lastname,
courseid,
coursename)
SELECT mdl_user.id,
mdl_user.username,
mdl_user.firstname,
mdl_user.lastname,
mdl_course.id,
mdl_course.fullname
FROM mdl_user
JOIN mdl_role_assignments ra
ON mdl_user.id = ra.userid
JOIN mdl_role r
ON ra.roleid = r.id
AND r.id = 5
JOIN mdl_context c
ON ra.contextid = c.id
JOIN mdl_course
ON mdl_course.id = c.instanceid
ときmdl_user
または別のデータベース変更(削除/更新/挿入)?私はトリガーを使用すると思うが、どのように知りません。
この部分は私にとってはかなり混乱しています。* mdl_userまたは別のデータベースが変更されたとき*。あなたは他のテーブルを意味しますか? 'mdl_course'テーブルが変更されたときに' compare_moodle'の値を同期させたい例 –
上記のクエリがcompare_moodleデータの唯一のソースであれば、代わりにこのテーブルをドロップしてcompare_moodleビューを作成してください。 – Serg
私の平均は、データベースcompare_moodleが作成された後です。mdl_courseでコースを削除したり、mdl_userでユーザーを削除すると、データベースcompare_moodleが変更されます。 (ユーザー/コースが少ない) –