On Fri, December 5, 2008 12:14, Martijn Tonies wrote: > Hi, > >>>>> What is the exact error message? >>>> >>>> >>>> Here's the latest query: >>>> >>>> delimiter // >>>> create trigger jobposts_control >>>> before delete on jobposts for each row >>>> begin >>>> declare dummy varchar(255); >>>> set @counted = ( >>>> select count(ad.adsource_id) >>>> from adsource ad, jobposts jp >>>> where ad.adsource_id = jp.adsource_id >>>> and old.jobpost_id = jp.jobpost_id >>>> ); >>>> if @counted >= 1 then SET dummy = "Cannot delete this record"; end >>>> if; >>>> end // >>>> delimiter ; >>>> >>>> Here's the error message: >>>> >>>> ERROR: Unknown column 'old.jobpost_id' in 'where clause' >>> >>> Works fine here (although with different tables). >>> >>> Just for fun and giggles, have you tried OLD. (uppercase?) >> >> >> Okay . . . I tried OLD. >> >> >> delimiter // >> create trigger jobposts_control >> before delete on jobposts for each row >> begin >> declare dummy varchar(255); >> set @counted = ( >> select count(ad.adsource_id) >> from adsource ad, jobposts jp >> where ad.adsource_id = jp.adsource_id >> and OLD.jobpost_id = jp.jobpost_id >> ); >> if @counted >= 1 then SET dummy = 'Cannot delete this record'; end >> if; >> end // >> delimiter; > > Try: > > end; // > delimiter ; > > > > I just wrote the trigger source in the Trigger Editor in Database > Workbench > and it doesn't bother about delimiters and such... > > It also has no ";" after the final END, but hey, who knows ;-) > > With regards, > > Martijn Tonies > Upscene Productions > http://www.upscene.com I think you are missing the point. Where is 'OLD' or 'old' defined? Before you try to imbed it in a trigger, try the basic query. That seems to be what its complaining about.
------ William R. Mussatto Systems Engineer http://www.csz.com 909-920-9154 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]