当我尝试在表中插入时,为什么插入之前的触发器会给出错误1054?

时间:2019-06-22 17:35:42

标签: mysql

我是SQL新手,所以这可能是一个小问题。我编写了以下触发器:

create trigger mytrigger 
    before insert 
    on bud for each row 

begin 
    set @auktionslut = (select auktionslut from auktion where new.AuktionID = auktion.AuktionID);   
        if datediff(@Auktionslut, Now()) < 0 then 
             set @brugerID = (select BrugerID from bud where new.AuktionID = auktion.AuktionID order by budtid desc limit 1); 

            update auktion set Erauktionslut = 1, Koeberbrugerid = @BrugerID where new.auktionid = auktionid; 


        end if;
end;
    §§ 
    delimiter ;

我认为我可能错误地使用了关键字new。任何帮助将不胜感激,即使这可能是一个真正的新手问题。

我有以下相关表格:

create table Bruger (
BrugerID int,
Navn varchar (255),
Adresse varchar (255),
kodeord varchar (40),
Email varchar (255),
Primary key (BrugerID)
);

create table auktion (
AuktionID int, 
Saelgerbrugerid int,
Koeberbrugerid int,
Samletoprindeligpris float,
Minimumspris float,
Endeligpris float,
Auktionslut datetime,
Produktbeskrivelse varchar (255),
Erauktionslut boolean,
Primary key (AuktionID),
foreign key (saelgerbrugerid) references bruger(brugerid),
foreign key (koeberbrugerid) references bruger(brugerid)
);

create table Bud (
AuktionID int,
BrugerID int,
Budpris int,
Budtid datetime,
primary key (brugerid,auktionid),
foreign key (brugerid) references bruger(brugerid),
foreign key (auktionid) references auktion(auktionid)
);

在尝试将其插入表中时:

我得到:

  

错误代码:1054。“ where子句”中的未知列“ auktion.AuktionID”

0 个答案:

没有答案