我是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”