[Cialug] mysql triggers -- figured them out
carl-olsen at mchsi.com
carl-olsen at mchsi.com
Mon Oct 23 12:23:59 CDT 2006
I happen to come from a MySQL 4.1 and MySQL 3.2 background, in which triggers and stored procedures didn't exist. As I said, I hadn't figured out a reason to use triggers yet. It sounds like you and Dave just gave me a couple of good reasons to use them.
-------------- Original message from <Daniel.Juliano at wellsfargo.com>: --------------
> To further what Dave is saying, if you ever code another page /app that
> works with the same table(s), what are the chances you'll remember to
> call all the stored procs you're relying on to enforce data integrity?
>
> You don't happen to come from an MS Access background, do you? Access
> likes stored procs for select / insert / update /delete, but that's 1995
> methodology speaking, and the web application world has mostly since
> moved on.
>
> =Dan
>
> -----Original Message-----
> From: cialug-bounces at cialug.org [mailto:cialug-bounces at cialug.org] On
> Behalf Of David Champion
> Sent: Monday, October 23, 2006 12:01 PM
> To: Central Iowa Linux Users Group
> Subject: Re: [Cialug] mysql triggers -- figured them out
>
> Triggers always fire, but if you put these kinds of rules in a Stored
> Procedure, they only fire when you call the SP. Example: if another web
> page inserts a record or does an update without using the SP (say
> another developer adds a page...) then your SP rules don't get applied.
>
> Using the Trigger, even if you just enter a record using phpMyAdmin, or
> the mysql console, the rules will be enforced.
>
> -dc
>
> carl-olsen at mchsi.com wrote:
> > I thought about checking into it for you, but I haven't really figured
> out a reason to use triggers yet. I seem to be able to do the same
> things using stored procedures, such as checking another table before
> doing an insert, update or delete to see if a certain condition is true
> or false. I like being able to do this stuff inside the database
> instead of making a bunch of diffent PHP queries. It seems to take less
> typing to do it all in a stored procedure. I'm glad you figured it out.
> I bought a good book, if you're interested, "MySQL Store Procedure
> Programming" by O'Reilly, ISBN 0-596-10089-2. It also has a chapter on
> triggers.
> >
> > Carl Olsen
> > http://www.carl-olsen.com/
> >
> >
> > -------------- Original message from "Kevin C. Smith"
> > : --------------
> >
> >
> >
> >>Since I got no response I thought some might be interested in the
> solution.
> >>After reading the docs it turns out to be fairly simple. Yes, I didn't
>
> >>read the docs before; I was trying speed it up by getting pointed to
> >>the TIMEDIFF function. To get the time difference of two fields using
> >>a trigger.
> >>
> >>CREATE TRIGGER trigger_time BEFORE INSERT ON time_table FOR EACH ROW
> >>SET NEW.time_diff = TIMEDIFF(NEW.end_time, NEW.begin_time);
> >>
> >>Of course an ON UPDATE trigger is also needed.
> >>
> >>
> >>--
> >>Kevin C. Smith
> >>
> >>_______________________________________________
> >>Cialug mailing list
> >>Cialug at cialug.org
> >>http://cialug.org/mailman/listinfo/cialug
> >>
> >>
> >>----------------------------------------------------------------------
> >>--
> >>
> >>_______________________________________________
> >>Cialug mailing list
> >>Cialug at cialug.org
> >>http://cialug.org/mailman/listinfo/cialug
>
>
> _______________________________________________
> Cialug mailing list
> Cialug at cialug.org
> http://cialug.org/mailman/listinfo/cialug
>
>
> _______________________________________________
> Cialug mailing list
> Cialug at cialug.org
> http://cialug.org/mailman/listinfo/cialug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cialug.org/pipermail/cialug/attachments/20061023/49ef6c9a/attachment.htm
More information about the Cialug
mailing list