I am trying to delete some orphaned records in an old database on a
website that I've recently taken over. Although the website is php
driven, I am doing this manually in a mysql client.

Mysql 3.23.54

Tables:

Items:
   Items_ID
   ....

Pictures:
   Picture_ID
   Items_ID
   ....

I want to get rid of any entries in Pictures that are orphaned (No
Items_ID in Items)

Here is the query I'm trying to do, which I thought was correct,
according to my surfing around google.

DELETE FROM Pictures 
   WHERE Picture_ID IN 
   ( 
      SELECT Pictures.Picture_ID FROM Pictures 
        LEFT JOIN Items using (Items_ID) 
        WHERE Items_ID IS NULL 
   )

I also may have to do this in a 3 table scheme as well where the Cat_ID
is gone and there are orphaned Items, which in turn means orphaned
Pictures.

Cats:
   Cat_ID
   ....

Items:
   Items_ID
   Cat_ID
   ....

Pictures:
   Picture_ID
   Items_ID
   ....

Any help would be appreciated.

Am I left to create a php script to do the cleaning for me or delete
items individually?

-- 
Greg
Nec Mors, Nec Requies. Carpe Noctum!

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to