List:General Discussion« Previous MessageNext Message »
From:Gleb Paharenko Date:January 9 2006 1:21pm
Subject:Re: How to update record obtained from a query result?
View as plain text  
Hello.

> 1) The record is the actual record in the database not a possible
>duplicate,  e.g. is there a built-in record number identifying the
>actual DB record or do I have to organise that in the table structure.

Perhaps, you should add UNIQUE key to you table structure. See:
  http://dev.mysql.com/doc/refman/5.0/en/create-index.html

> 2) The record hasnt been or cannot be changed by another
>thread/process,  possibly by. locking / re-reading the record (is there
>another way?).

MySQL provides different kinds of locking. See:
  http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
  http://dev.mysql.com/doc/refman/5.0/en/innodb-transaction-model.html



Jan M wrote:
> Hi,
> 
> Newbie question (MySql 5.0 using C API). I've searched the mysql
> website/Internet but cannot find the answer.
> 
> How do I update a record obtained from a query result while ensuring that:
> 
> 1) The record is the actual record in the database not a possible duplicate,
> e.g. is there a built-in record number identifying the actual DB record or
> do I have to organise that in the table structure.
> 
> 2) The record hasnt been or cannot be changed by another thread/process,
> possibly by. locking / re-reading the record (is there another way?).
> 
> How do I lock and re-read the [actual] record anyway?
> 
> Code snippet:
> 
>  sprintf(szStr,
>          "SELECT * FROM %s WHERE UserName = '%s'",
>          DB_TABLE,
>          szUserName);
> 
>  if(mysql_real_query(db, szStr, strlen(szStr)) == 0)
>   {
>    result = mysql_store_result(db);
> 
>    if(result)  // There are rows
>     {
>      while ((row = mysql_fetch_row(result)))
>       {
>        // *** I need to update the record here! ***
>       }
> 
>      mysql_free_result(result);
>     }
> 
> TIA.
> 
> Jan
> 
> 
> 
> 


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.NET http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Gleb Paharenko
 / /|_/ / // /\ \/ /_/ / /__   Gleb.Paharenko@stripped
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.NET
       <___/   www.mysql.com



Thread
How to update record obtained from a query result?Jan M8 Jan
  • Re: How to update record obtained from a query result?Jigal van Hemert9 Jan
  • Re: How to update record obtained from a query result?Gleb Paharenko9 Jan
  • Re: How to update record obtained from a query result?Jan M10 Jan