Hello,

Depending on how many people are updating this db should ultimately
determine your decision to remove the table locks.  If hte db is only
experiencing one person updating it then it is not necessary.  However if
multiple people are updating it, then you will want to keep the locks.

Here is a simple example of the last_insert_id without using table locks.


CREATE TABLE Temp (
   temp_id    INT     NOT NULL PRIMARY KEY AUTO_INCREMENT,
   value        INT);

INSERT INTO Temp VALUES(null, 5);

SELECT Temp.value from Temp WHERE Temp.temp_id = last_insert_id();



----- Original Message -----
From: "Luciano Barcaro" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, April 23, 2002 9:49 AM
Subject: Re: Further Question with --> table lock - which connection id
own's it




*********** REPLY SEPARATOR  ***********

>Hi ...
>
>just wanted to added another question to this one...
>
>you suggested to use LAST_INSERT_ID() , but the
>question is if there are concurrent access to the
>database, how will you get the last id without locking
>the table.

Don't worry about concurrent access... the last_insert_id()
returns the last id inserted by your process (connection).

>
>Because what I've been doing is also:
>1. lock the table
>2. get the id
>3. release lock
>
>Could you further explain the LAST_INSERT_ID() a
>little more and how to complish it without using
>locks.
>
>thank you.
>
>Sukhdev.
>
>--- Michael Widenius <[EMAIL PROTECTED]> wrote:
>>
>> Hi!
>>
>> >>>>> "Lopez" == Lopez David <E-r9374c
>> <[EMAIL PROTECTED]>> writes:
>>
>> Lopez> AntiSpam - mysql, sql, query
>> Lopez> Version: 3.23.49a, MyISAM, NT, Solaris
>>
>> Lopez> My app is 150 daemons writing logs to mysql.
>> The main
>> Lopez> table is of fixed size but depends on four
>> other tables
>> Lopez> for foreign keys (hash tables). These tables
>> are uploaded
>> Lopez> once to the daemon at start-up. Occasionally,
>> a new entry
>> Lopez> must be written into these hash tables. The
>> procedure is
>> Lopez> to lock the table, insert entry, get the key
>> (auto-increment
>> Lopez> field) and release the lock.
>>
>> A better solution is to use LAST_INSERT_ID() and not
>> use any locks at all.
>>
>> Lopez> But what if the connection dies during the
>> update process.
>> Lopez> If this happens, how can I tell which
>> connection id has the
>> Lopez> lock so I can kill it?
>>
>> If a connection dies, the server will automaticly
>> delete all temporary
>> tables and all table locks.
>>
>> Regards,
>> Monty
>>
>> --
>> For technical support contracts, goto
>> https://order.mysql.com/
>>    __  ___     ___ ____  __
>>   /  |/  /_ __/ __/ __ \/ /    Mr. Michael Widenius
>> <[EMAIL PROTECTED]>
>>  / /|_/ / // /\ \/ /_/ / /__   MySQL AB, CTO
>> /_/  /_/\_, /___/\___\_\___/   Helsinki, Finland
>>        <___/   www.mysql.com
>>
>>
>---------------------------------------------------------------------
>> Before posting, please check:
>>    http://www.mysql.com/manual.php   (the manual)
>>    http://lists.mysql.com/           (the list
>> archive)
>>
>> To request this thread, e-mail
>> <[EMAIL PROTECTED]>
>> To unsubscribe, e-mail
>>
><[EMAIL PROTECTED]>
>> Trouble unsubscribing? Try:
>> http://lists.mysql.com/php/unsubscribe.php
>>
>
>
>__________________________________________________
>Do You Yahoo!?
>Yahoo! Games - play chess, backgammon, pool and more
>http://games.yahoo.com/
>
>---------------------------------------------------------------------
>Before posting, please check:
>   http://www.mysql.com/manual.php   (the manual)
>   http://lists.mysql.com/           (the list archive)
>
>To request this thread, e-mail <[EMAIL PROTECTED]>
>To unsubscribe, e-mail
><[EMAIL PROTECTED]>
>Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

fim do besteirol todo que Sukhdev Sethi escreveu.
-------------------------------------------------------
\|/   ______   \|/
`@"  / o .  \  "@'    Microsoft? Por acaso é alguma
/___| \____/ |___\    marca de papel higiênico?
     \___U__/
  .^.      Luciano Barcaro - Linux User #99517
  /v\      Seja também um feliz usuário de linux
 // \\     Registre-se gratuitamente em
/( . )\    http://counter.li.org
 ^`~'^     ICQ #
-------------------------------------------------------



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail
<[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to