mysql - Mysql On 触发每一行
问题描述
我需要以下代码的帮助。我的问题是我只希望每个语句执行一次代码(在我搜索后,我检查了表达式不再存在,每行只执行一次)。所以我尝试添加:
IF NOT EXISTS
(Select count(*) FROM replay_replays_access WHERE id_game = new.id_game GROUP BY id_game HAVING count(*) <5)
THEN
但是我能做什么也没有用,它有时会复制三倍的信息?
TRIGGER replay
AFTER UPDATE
ON table_replays FOR EACH ROW
begin
IF EXISTS
(SELECT
replay_games.room_name
FROM replay_games
WHERE replay_games.room_name = 'Tournament Room' and replay_games.id = new.id_game)
THEN
IF NOT EXISTS
(Select
count(*)
FROM replay_replays_access
WHERE id_game = new.id_game
GROUP BY id_game
HAVING count(*) <5)
THEN
INSERT INTO replay_replays_access(id_game, id_player, replay_name, do_not_hide)
SELECT
new.id_game,
replay_users.id ,
CONCAT(
(SELECT game_types
FROM replay_games
WHERE id=new.id_game),
': ',
(SELECT
descr
FROM replay_games
WHERE id=new.id_game)) ,
0
FROM replay_users
WHERE
(replay_users.admin > 0 OR
replay_users.privlevel = 'TOURNAMENT MEMBER')
AND NOT replay_users.name = (
SELECT
replay_games.creator_name
FROM replay_games
WHERE replay_games.id = new.id_game);
END IF;
END IF;
END
解决方案
推荐阅读
- c# - 如何在网格 acumatica 上添加自定义操作按钮
- javascript - 在 React 组件之外使用路由信息
- python - Django 表单不关心 html 输入
- wso2 - 如何使用 Siddhi 解析数组数组
- javascript - 同一脚本中的 Google 文档、Google 表格或 Google 幻灯片的插件菜单?
- r - 提取字符串中关键字周围的值
- java - Java中的分布式计数信号量
- powershell - Powershell - Sharepoint 自动文件上传返回“远程服务器返回错误:(403)禁止。” 错误
- database - 我正在尝试设置 Dynamodb aws 数据库但出现错误
- sql - SQL Server 临时表:我可以记录特定的更改吗?