1

我已经阅读了这个论坛注册中的 4 个案例。

错误代码:1442。无法更新存储函数/触发器中的表“表名”,因为它已被语句使用

这些情况比我的情况要复杂得多。我创建了一个ArgentineWines包含 5 列的表,加载了 10 行,并创建了一个触发器:

CREATE TRIGGER Trigger_Before_An_ArgentineWines_update 
AFTER UPDATE ON ArgentineWines
FOR EACH ROW 
    INSERT INTO ArgentineWines
    SET action = 'update',
        RankingId = OLD.RankingId,
        WineName = OLD.WineName,
        Description = OLD.Description,
        RecordDate = NOW();

当我尝试通过更改表来测试触发器时,就会出现问题。我试图以两种不同的方式更新表格

第一次尝试:

USE Sakila;

UPDATE ArgentineWines
SET WineName = REPLACE(WineName,'GRAFFIGNA RESERVE','GRAFFIGNA RESERVE Grandiose')
WHERE RankingId = 6;

第二次尝试:

USE Sakila;

UPDATE ArgentineWines
SET WineName = 'GRAFFIGNA RESERVE Grandiose'
WHERE RankingId = 6;

无论我尝试什么,我都会收到此错误:

错误代码:1442。无法更新存储函数/触发器中的表“ argentinewines ”,因为它已被调用此存储函数/触发器的语句使用

无论错误不断弹出,我都使用过之前使用过之后。

问题:还有哪个语句在调用我的存储过程?什么已经在使用什么?错误描述不是很清楚。

拜托,这个谜团的任何想法或解决方案都会很棒。DH

4

0 回答 0