RE: [PHP-DB] Deleting topics older than 2 hours?

2002-11-24 Thread John W. Holmes
[snip]
> =others, eg MySQL, do not, and thus unless MySQL's last DELETE format
> option
> works sufficiently well, the best option might be two DELETE's: the
first
> per your suggestion above and the second to remove all entries in
posts
> that
> no longer join to a topics row.

But you can't join on a DELETE, either (in MySQL at least). So you're
left with writing a whole PHP script to do it. Run a SELECT to get all
of the topics with IDs older than two hours. Roll up all of those IDs
into a comma separated list, like (1,2,3,4) etc. Then run two DELETE
queries on each table.

DELETE FROM topics WHERE id IN $id_string
DELETE FROM posts WHERE topic IN $id_string

Is there a better way to organize your data so this is all in one
table?? Maybe just add another column to say whether the "message" is a
topic or a post? Then your deletes could be done with single query,
probably.

---John Holmes...



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DB] Deleting topics older than 2 hours?

2002-11-24 Thread DL Neil
Leif,


> Sounds to me like you didn't understand the question.  The table

=two sides to every story: either I'm too thick to understand, or you didn't
explain sufficiently - or both... see problem with necessarily open-ended
answer given below and consider...


> structure is something like:
> topics_
> | id | forum | author | subject | posttime |
> -
>
> _posts
> | id | topic | author | message | posttime|
> -
>
> The problem is, if I run a query like (I know the query is probably
> wrong, I'm just writing it now):
> delete from topics where posttime + interval 2 hours < now()
> I would leave "orphan" posts inside of that topic.  I'm not sure how (or
> if it's even possible) to delete the posts as the topic is deleted.

=some RDBMSes implement "referential integrity"/a 'chaining process' built
from key-dependences, and thus when a row is DELETEd from topics, any
corresponding rows would be removed from posts as well.

=others, eg MySQL, do not, and thus unless MySQL's last DELETE format option
works sufficiently well, the best option might be two DELETE's: the first
per your suggestion above and the second to remove all entries in posts that
no longer join to a topics row.

=Regards,
=dn


> DL Neil wrote:
>
> >Sorry Leif, but CrystalBall v2.6 is currently unable to help.
> >The word WHERE features.
> >Show us the money - or second choice: the (erroneous) code...
> >=dn
> >
> >
> >
> >
> >>I'm trying to run a cron job to delete forum topics more than 2 hours
> >>old.  I know how to do that, but the problem is also deleting the posts
> >>in the topic at the same time.  Can someone shed some light on this,
> >>
> >>
> >please?
> >
> >
> >>--
> >>The above message is encrypted with double rot13 encoding.  Any
> >>
> >>
> >unauthorized attempt to decrypt it will be prosecuted to the full extent
of
> >the law.
> >
> >
> >>
> >>--
> >>PHP Database Mailing List (http://www.php.net/)
> >>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >>
> >>
> >
> >
> >
> >
>
> --
> The above message is encrypted with double rot13 encoding.  Any
unauthorized attempt to decrypt it will be prosecuted to the full extent of
the law.
>
>
>


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DB] Deleting topics older than 2 hours?

2002-11-24 Thread Leif K-Brooks
Sounds to me like you didn't understand the question.  The table 
structure is something like:
topics_
| id | forum | author | subject | posttime |
-

_posts
| id | topic | author | message | posttime|
-

The problem is, if I run a query like (I know the query is probably 
wrong, I'm just writing it now):
delete from topics where posttime + interval 2 hours < now()
I would leave "orphan" posts inside of that topic.  I'm not sure how (or 
if it's even possible) to delete the posts as the topic is deleted.

DL Neil wrote:

Sorry Leif, but CrystalBall v2.6 is currently unable to help.
The word WHERE features.
Show us the money - or second choice: the (erroneous) code...
=dn


 

I'm trying to run a cron job to delete forum topics more than 2 hours
old.  I know how to do that, but the problem is also deleting the posts
in the topic at the same time.  Can someone shed some light on this,
   

please?
 

--
The above message is encrypted with double rot13 encoding.  Any
   

unauthorized attempt to decrypt it will be prosecuted to the full extent of
the law.
 


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


   



 


--
The above message is encrypted with double rot13 encoding.  Any unauthorized attempt to decrypt it will be prosecuted to the full extent of the law.





Re: [PHP-DB] Deleting topics older than 2 hours?

2002-11-24 Thread DL Neil
Sorry Leif, but CrystalBall v2.6 is currently unable to help.
The word WHERE features.
Show us the money - or second choice: the (erroneous) code...
=dn


> I'm trying to run a cron job to delete forum topics more than 2 hours
> old.  I know how to do that, but the problem is also deleting the posts
> in the topic at the same time.  Can someone shed some light on this,
please?
>
> --
> The above message is encrypted with double rot13 encoding.  Any
unauthorized attempt to decrypt it will be prosecuted to the full extent of
the law.
>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DB] Deleting topics older than 2 hours?

2002-11-24 Thread Leif K-Brooks
I'm trying to run a cron job to delete forum topics more than 2 hours 
old.  I know how to do that, but the problem is also deleting the posts 
in the topic at the same time.  Can someone shed some light on this, please?

--
The above message is encrypted with double rot13 encoding.  Any unauthorized attempt to decrypt it will be prosecuted to the full extent of the law.



--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php