You don't need to do an update:

...

new.xxx = new.id
...

On Fri, Jan 21, 2011 at 12:20 PM, Jerry Schwartz <je...@gii.co.jp> wrote:
>>-----Original Message-----
>>From: Jerry Schwartz [mailto:je...@gii.co.jp]
>>Sent: Friday, January 21, 2011 11:56 AM
>>To: 'Michael Dykman'; 'MySql'
>>Subject: RE: CURRENT insert ID
>>
>>>-----Original Message-----
>>>From: Michael Dykman [mailto:mdyk...@gmail.com]
>>>Sent: Friday, January 21, 2011 11:50 AM
>>>To: MySql
>>>Subject: Re: CURRENT insert ID
>>>
>>>I think an ON INSERT TRIGGER would take care of this; can't think of
>>>any other way.  Using last_insert_id() in the argument list would
>>>likely yield you the previous value (which might not even related to
>>>your table.
>>>
> [JS] Alas, you cannot update a record in a trigger if the record is in the
> same table as the trigger.
>
>
> CREATE TRIGGER xx AFTER UPDATE ON t
> FOR EACH ROW
>  UPDATE t SET f1 = 7;
>
>
> That's illegal.
>
> Right now, I'm stumped.
>
>>>Having siad that..   odd requirement.
>>>
>>[JS] You don't know the half of it.
>>
>>Thanks.
>>
>>Regards,
>>
>>Jerry Schwartz
>>Global Information Incorporated
>>195 Farmington Ave.
>>Farmington, CT 06032
>>
>>860.674.8796 / FAX: 860.674.8341
>>E-mail: je...@gii.co.jp
>>Web site: www.the-infoshop.com
>>
>>
>>
>>>  - michael dykman
>>>
>>>ps  -- sorry for the duplicate Jerry, reply-to policy on this list is
>>>forever tripping me up.
>>>
>>>
>>>>
>>>> On Fri, Jan 21, 2011 at 11:41 AM, Jerry Schwartz <je...@gii.co.jp> wrote:
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>  - michael dykman
>>>>  - mdyk...@gmail.com
>>>>
>>>>  May the Source be with you.
>>>>
>>>
>>>
>>>
>>>--
>>> - michael dykman
>>> - mdyk...@gmail.com
>>>
>>> May the Source be with you.
>>>
>>>--
>>>MySQL General Mailing List
>>>For list archives: http://lists.mysql.com/mysql
>>>To unsubscribe:    http://lists.mysql.com/mysql?unsub=je...@gii.co.jp
>>
>>
>>
>>
>>
>>--
>>MySQL General Mailing List
>>For list archives: http://lists.mysql.com/mysql
>>To unsubscribe:    http://lists.mysql.com/mysql?unsub=je...@gii.co.jp
>
>
>
>
>



-- 
 - michael dykman
 - mdyk...@gmail.com

 May the Source be with you.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to