MYSQL触发器更新表
我从来没有扣过扳机 我有两张桌子:MYSQL触发器更新表,mysql,triggers,Mysql,Triggers,我从来没有扣过扳机 我有两张桌子: MOVIES TABLE --------------------------------- movie_id | movie_name | rating | --------------------------------- | 1 | Inception | 4 | | 2 | Memento | 5 | | 3 | Spiderman | 3 | RATING TABLE
MOVIES TABLE
---------------------------------
movie_id | movie_name | rating |
---------------------------------
| 1 | Inception | 4 |
| 2 | Memento | 5 |
| 3 | Spiderman | 3 |
RATING TABLE
-------------------------------
rating_id | mov_id | rating |
-------------------------------
| 1 | 1 | 4 |
| 2 | 2 | 5 |
| 3 | 2 | 5 |
在评级表中插入数据后,我想更新电影表的评级列。
如何使用以下数据更新该列:
SELECT ROUND(AVG(rating),1) "Raiting" FROM `rating` WHERE mov_id = mov_id
试试这个:
delimiter //
CREATE TRIGGER upd_rating AFTER INSERT ON rating
FOR EACH ROW
BEGIN
INSERT INTO movies
SET rating = (SELECT ROUND(AVG(rating.rating),1)
FROM rating
WHERE mov_id = NEW.mov_id)
WHERE movie_id = NEW.mov_id;
END;//
delimiter ;
嗯,当这是第一次,大多数人谷歌的语法。通过谷歌搜索mysql创建触发器来实现这一点。手册里也有例子,你知道吗?那就试试吧。如果你没有成功,欢迎回来。别忘了把你尝试过的东西和失败的原因贴出来。然后我们很高兴能提供帮助。我已经尝试过了,因为我失败了,我在这里发了帖子:|无论如何谢谢是的,那么请展示一下你的尝试。这样不仅更容易理解问题所在,也省去了我们一些工作。帮助别人帮助你;