RE: Trigger OLD question

2007-05-09 Thread emierzwa
You might try:
 
INSERT INTO table_track  select OLD.*;

-Original Message-
From: Olaf Stein [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 09, 2007 2:59 PM
To: MySql
Subject: Trigger OLD question

Hi All,

I have a table with 205 columns. When an update statement updates a row
in
this table I want a trigger that creates a record of the old row in a
separate table.
The following works fine when not too many columns need to be written
into
the other table

CREATE TRIGGER track_table
BEFORE UPDATE ON table FOR EACH ROW
BEGIN
INSERT INTO table_track (value1,value2) VALUES (OLD.value1,old.value2);
END;

Is the any way of using OLD for all columns or generally another way of
doing this.

Thanks
Olaf


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Trigger OLD question

2007-05-09 Thread Paul DuBois

At 4:59 PM -0400 5/9/07, Olaf Stein wrote:

Hi All,

I have a table with 205 columns. When an update statement updates a row in
this table I want a trigger that creates a record of the old row in a
separate table.
The following works fine when not too many columns need to be written into
the other table

CREATE TRIGGER track_table
BEFORE UPDATE ON table FOR EACH ROW
BEGIN
INSERT INTO table_track (value1,value2) VALUES (OLD.value1,old.value2);
END;

Is the any way of using OLD for all columns or generally another way of
doing this.


If you have a primary ID in the table, perhaps you could use a statement
something like this:

INSERT INTO table_track SELECT * FROM track_table WHERE key_col=OLD.key_col;

I admit I have not tested this. :-)

--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.com

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Trigger OLD question

2007-05-09 Thread Olaf Stein
Hi All,

I have a table with 205 columns. When an update statement updates a row in
this table I want a trigger that creates a record of the old row in a
separate table.
The following works fine when not too many columns need to be written into
the other table

CREATE TRIGGER track_table
BEFORE UPDATE ON table FOR EACH ROW
BEGIN
INSERT INTO table_track (value1,value2) VALUES (OLD.value1,old.value2);
END;

Is the any way of using OLD for all columns or generally another way of
doing this.

Thanks
Olaf


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]