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:jerry@stripped> jerry@stripped
>
> Web site:<http://www.the-infoshop.com/> www.the-infoshop.com
>
>
>
>