Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL触发器在插入后更新计数_Mysql_Triggers - Fatal编程技术网

MySQL触发器在插入后更新计数

MySQL触发器在插入后更新计数,mysql,triggers,Mysql,Triggers,我需要一些关于mysql触发器的帮助。我目前正在尝试整理一些代码,并将一些处理卸载到mysql数据库,而不是运行2个查询和连接等 当有人将视频插入数据库时,我希望更新类别中的视频计数 因此,您可以指定类别id 这就是我到目前为止得到的任何帮助都是好的,因为我似乎无法获得正确的语法 CREATE TRIGGER 'db_videos'.'update_video_count' AFTER INSERT ON 'videos' FOR EACH ROW BEGIN UPDATE video_

我需要一些关于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;

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;
请尝试以下操作:

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;

此查询无效,即使有效,也不会执行任何操作。在where子句中,您有一个条件来检查
video count=video count+1
。这就像尝试执行SQL选择
,其中0=1
。请发布视频表的DDL。