You are here: Re: resultsets - deleting from while processing safe? « PHP Programming Language « IT news, forums, messages
Re: resultsets - deleting from while processing safe?

Posted by Jerry Stuckle on 03/18/06 13:45

Nicholas Sherlock wrote:
> Jim Michaels wrote:
>
>> Is it safe to do what is below? deleting from a resultset while you
>> are processing it? I don't know how dynamic the SQL database is. I
>> assume you get a cursor to live dataset. Even if it is a cursor as
>> opposed to a table, will the cursor's integrity be ruined if the
>> current record is deleted?
>>
>> $q2=mysql_query("SELECT * FROM table1 WHERE id1=5", $link);
>> while ($row2=mysql_fetch_array($q2)) {
>> //do some stuff with resultset
>> mysql_query("DELETE FROM table1 WHERE id1=5 AND id2=$row2[id2]",
>> $link);
>> }
>> mysql_free_result($q2);
>
>
> AFAIK, it'll be totally fine. But isn't your code equivalent to this?
>
> $q2=mysql_query("SELECT * FROM table1 WHERE id1=5", $link);
> while ($row2=mysql_fetch_array($q2)) {
> //do some stuff with resultset
> }
> mysql_free_result($q2);
> mysql_query("DELETE FROM table1 WHERE id1=5", $link);
>
> Cheers,
> Nicholas Sherlock
>

Jim,

I'm not sure if it's safe or not - typically I've tried to stay away
from this construct. And I haven't been able to find any doc talking
about it one way or the other.

If I were doing it, I'd save the id's in an array and delete them after
I'm done with the result set. But that's just me.

And Nicholas, no, it's not the same. Jim is deleting from the result
set (potentially multiple rows based on other selection criteria).
You're deleting all rows with id1=5, which may or may not be what he
wants (he may only want to delete some of the rows, for instance).

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация