我有一个用两个主表创建的数据库:User和Series。
我的关系是N:M,我需要在其中存储用户观看的章节,但是我不想手动插入每个用户的每个系列。
我需要的是一个触发器,当我插入一个新系列时,可以为每个用户插入一行,反之亦然。例如,如果我在我的Serie表中添加一个新的Serie(breakingBad),则下一行需要出现在User和Serie之间的关系中:
-------------------------------------------------
| username (PK) | name (PK) | chaptersWatched |
-------------------------------------------------
| me235 | breakingBad | 0 |
-------------------------------------------------
| john23 | breakingBad | 0 |
-------------------------------------------------
etc..... for every user
我正在尝试这样做,但是我是触发器的新手。我正在尝试执行以下操作:
CREATE TRIGGER `serie_before_insert`
BEFORE INSERT ON `serie`
FOR EACH ROW INSERT INTO users_watch_series
VALUES (user.username, serie.name, 0);
信息:使用的DBMS是MySQL,在PHPMyAdmin中,并且在HeidiSQL中进行了测试
要为每个用户插入一个新系列,触发器将如下所示:
CREATE TRIGGER `serie_before_insert`
BEFORE INSERT ON `serie`
FOR EACH ROW
BEGIN
INSERT INTO users_watch_series
SELECT user.username, new.name, 0
FROM user;
END
也许最好是把它定义为AFTER INSERT
,而不是BEFORE INSERT
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句