1

挿入を行うときに、別のテーブルのデータで列を更新するトリガーを mySQL で作成しようとしています。

テーブルを取得しました: rtsEP_groups With: id, name

およびテーブル: rtsEP_users with: id、groups (およびその他多数)

そして、rtsEP_users に新しい挿入がある場合、「name」が「Student」である rtsEP_groups の「id」を使用して、rtsEP_users の「groups」を更新したいと考えています。

私はこのトリガーに取り組んでいましたが、それが正しいかどうか、およびそれを終了する方法がわかりません。正しい列を更新する方法。

CREATE TRIGGER defaultGroup
AFTER INSERT ON rtsEP_users
BEGIN
DECLARE _group_id INTEGER;
SELECT id INTO _group_id FROM rtsEP_groups WHERE name = "Student"
UPDATE rtsEP_users SET groups = _group_id WHERE 
4

1 に答える 1

0

BEFORE INSERTの代わりに使用してAFTERNew更新できる挿入された行を表します。これを試して

CREATE TRIGGER defaultGroup BEFORE INSERT ON rtsEP_users
FOR EACH ROW
SET New.groups = (SELECT id FROM rtsEP_groups WHERE name = "Student");
于 2012-05-23T08:50:43.623 に答える