---
title: "Problem med delete"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/109924-problem-med-delete"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "aasah"
published: "2004-08-24T10:01:43.000Z"
updated: "2004-08-24T10:14:22.000Z"
replies: 2
views: 251
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/109924-problem-med-delete"
---

# Problem med delete

## #1 — aasah, 2004-08-24T10:01Z

Jag har tre tabeller i MySQL som samverkar enligt följande:

C (id, namn, ....)

B (id, namn, ..., C_id) C_id är foreign key till C's id

A (id, namn, ..., B_id) B_id är foreign key till B's id

id i A, B och C är en int auto_increment om det påverkar saken...

Pga otrolig klantighet från min sida vill jag nu plocka bort allting i A, B och C som "hör till" C.id=2. Jag vet, via select-sats, att detta gäller 11 \<= B.id \<= 35. Det finns ett stort antal rader i A som har dessa B_id:n.

Alltså skriver jag följande (i php): 

```php
  $query = "SELECT min(id), max(id) FROM B
            WHERE C_id = $id";
  $res = mysql_query($query) or die("Answer check");
  $minMax = mysql_fetch_array($res);
  echo "$minMax[0], $minMax[1]<BR>";
   $tst = "DELETE * FROM A
           WHERE B_id >= $minMax[0] AND B_id <= $minMax[1]";
   $res = mysql_query($tst) or die("Delete A");
   $tst = "DELETE * FROM B
           WHERE C_id = $id";
   $res = mysql_query($tst) or die("Delete B");
   $tst = "DELETE * FROM C
           WHERE id = $id";
   $res = mysql_query($tst) or die("Delete C");
```

Ger resultatet:

> 11, 35
> Delete A

??? Var är felet?

Permalänk: https://www.webforum.nu/p/109924

## #2 — @nders, 2004-08-24T10:06Z

Det verkar alltså som att du har ett fel i den första delete-frågan.

Börja gärna med att skriva ut de färdiga SQL-frågorna till browsern med **echo**, så är det lättare att se hur de ser ut.

Du skriver också **DELETE \* FROM**. Det är nog bara Access som gillar den där asterisken, så jag skulle ta bort den ur dina DELETE-frågor till att börja med.

Permalänk: https://www.webforum.nu/p/1418564

## #3 — aasah, 2004-08-24T10:14Z

> **@nders skrev:**
>
> ... Du skriver också **DELETE \* FROM**. Det är nog bara Access som gillar den där asterisken, så jag skulle ta bort den ur dina DELETE-frågor till att börja med.

Du har just hittat ett fel (eller snarast otydlighet) i min PHP-bok i avsnittet om MySQL... Tusen tack, @nders :birp, jag utgick ifrån att MySQL ville ha det enligt uppgift...  :x

Permalänk: https://www.webforum.nu/p/1418568

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/109924-problem-med-delete
