Seeing from later posts that you're using InnoDB, why don't you simply
wrap the INSERT/UPDATE into a transaction? You don't avoid the UPDATE,
but I'm not sure I understand the need to mess w/ triggers.
BEGIN
INSERT INTO t(id) NULL
UPDATE t SET xxx=last_insert_id()
COMMIT
Best,
/ Carsten
Den 21-01-2011 17:41, Jerry Schwartz skrev:
Here it is in a nutshell:
I have a field that needs to be set equal to the auto-increment ID as a record
is entered. I don’t know how to do this without a subsequent UPDATE (which I
can do with a trigger). Is there any way to avoid the cost of an UPDATE?
Here’s a more concrete description of the problem:
CREATE TABLE t (
id INT(11) AUTO-INCREMENT PRIMARY,
xxx INT(11)
);
When a record is added to table `t`, I need to set `xxx` to the value generated
for `id`. (`xxx` might be changed later.)
Is there anything clever I can do?
Regards,
Jerry Schwartz
Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032
860.674.8796 / FAX: 860.674.8341
E-mail:<mailto:je...@gii.co.jp> je...@gii.co.jp
Web site:<http://www.the-infoshop.com/> www.the-infoshop.com
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org