1

我需要一些有关 mysql 触发器的帮助。我目前正在尝试整理一些代码并将一些处理卸载到 mysql 数据库,而不是运行 2 个查询和连接等...

当有人将视频插入数据库时​​,我希望更新类别中的视频计数。

因此,您指定类别 ID。

这是我到目前为止所拥有的,所以任何帮助都会很好,因为我似乎无法正确获取语法。

CREATE TRIGGER 'db_videos'.'update_video_count'
AFTER INSERT ON 'videos' FOR EACH ROW
BEGIN
    UPDATE video_cat WHERE video_count = video_count + 1 WHERE video_cat = video_cat;
END;
4

2 回答 2

2

尝试以下操作:

CREATE TRIGGER 'db_videos'.'update_video_count'
AFTER INSERT ON 'videos' FOR EACH ROW
BEGIN
    UPDATE video_cat vc 
      SET video_count = video_count + 1 
      WHERE NEW.video_cat = vc.video_cat;
END;
于 2014-12-17T19:33:22.393 回答
1

您的 where 子句重复且模棱两可。如果我理解您的数据模型正确,请尝试:

CREATE TRIGGER 'db_videos'.'update_video_count'
AFTER INSERT ON 'videos' FOR EACH ROW
BEGIN
    UPDATE video_cat vc 
      WHERE video_count = video_count + 1 
      and NEW.video_cat = vc.video_cat;
END;
于 2012-04-11T20:58:18.737 回答