Toon posts:

[MySQL] DELETE + EXISTS fout in query

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb de volgende 2 tabellen

--------------------------
Product
------------------------
productID
catID
beschrijving

------------------------
Categorie
------------------------
catID
cat_naam


Ik heb dus een categorie met een aantal producten erin (of 0).
Als ik een categorie wil verwijderen, moet ik eerst kijken of er geen producten zijn die tot deze product behoren. Dus als de categorie leeg is kan deze worden verwijderd en indien niet, dan moet er een string worden gegenereerd met de categorie naam die niet kon worden verwijderd..
Oo ja. ik vergeet iets. Het gaat hier niet om het verwijderen van een categorie, maar meerdere in een keertje. De categorien die leeg zijn moeten direct worden verwijderd en waar het niet kan een string genereren.

Wat ik tot nu toe heb is het volgende:

Een query die kijkt of de categorien leeg zijn en indien ja, deze verwijderd
[mysql]
mysql_db_query($mysqldb, "DELETE FROM categorie AS c WHERE c.catID IN ($select) AND NOT EXISTS (SELECT * FROM product WHERE c.catID = catID)") or die(mysql_error());
[/mysql]
$select is een lijstje met categorie ID's

Hier zit een foutje in, maar ik weet niet wat. Heb hier dus hulp bij nodig

Rest is best wel simpel. Dus dat generenen van een string voor de categorien die niet verwijderd konden worden.

kan iemand me met dit probleem helpen.
THNX

[ Voor 10% gewijzigd door Verwijderd op 23-01-2003 17:20 ]


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

MySQL ondersteunt geen SUBSELECTS!

of je moet willen upgraden naar MySQL 4.1 ALPHA!

Programmer - an organism that turns coffee into software.


Verwijderd

MySQL ondersteunt geen subqueries (of nog niet volledig):
MySQL Server until version 4.0 only supports nested queries of the form INSERT ... SELECT ... and REPLACE ... SELECT .... You can, however, use the function IN() in other contexts. Subselects are being implemented in the 4.1 development tree.
Helaas zal je dit dus op een andere manier moeten oplossen ...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

basic mysql knowledge

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.