mysql - 有人可以解释我的触发器中的错误吗?
问题描述
DELIMITER //
CREATE TRIGGER ATUALIZAR_EMPRESTIMO AFTER INSERT ON EMPRESTIMO FOR EACH ROW
BEGIN
UPDATE EXEMPLAR EX SET STATUS = 'EP' FROM EMPRESTIMO E, EMPRESTIMO_EXEMPLAR EE
WHERE EE.CDEMPRESTIMO = NEW.CDEMPRESTIMO AND EE.CDEXEMPLAR = EX.CDEXEMPLAR;
END//
DELIMITER ;
解决方案
你可以试试这个,但你最终将不得不限制你选择的结果,或者至少连接结果左右
DELIMITER //
CREATE TRIGGER ATUALIZAR_EMPRESTIMO AFTER INSERT ON EMPRESTIMO FOR EACH ROW
BEGIN
UPDATE EXEMPLAR EX SET STATUS = (SELECT 'EP' FROM EMPRESTIMO E, EMPRESTIMO_EXEMPLAR EE
WHERE EE.CDEMPRESTIMO = NEW.CDEMPRESTIMO AND EE.CDEXEMPLAR = EX.CDEXEMPLAR);
END//
DELIMITER ;
推荐阅读
- ios - 使用字段的输出作为 url
- c - 在 C 中修改文件的文件统计信息
- c# - 使用 C# 正则表达式分别提取文本数量的出现
- angular - 有条件地将 rxjs 数组响应合并到单个数组中
- java - Java RegExp 用于一组单独的数字
- c# - 没有递归的 C# 计数项目
- highcharts - 一页上有不同的 HighCharts 版本
- c# - 在c#asp .net核心中将json反序列化为IEnumerable
- web-services - 地点详细信息 - 符合永久存储在数据库中的属性
- php - 使用 Web 服务器中的 PHP 脚本访问 RPI 上的 GPIO 引脚并在特定时间执行 GPIO 命令