webForumDet fria alternativet

delete alla relationer

4 svar · 213 visningar · startad av Nöff

NöffMedlem sedan nov. 2003569 inlägg
#1
DELETE FROM kategorier,produkter,priser WHERE kategorier.ID=produkter.kategoriID AND produkter.ID=priser.produktID AND kategorier.ID=1000

Varför funkar inte denna? :( , använder MSDE

felmedellande:
Felaktig syntax nära ','.

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du kan bara göra delete från en tabell i taget. Lös det med foreign key och on delete cascade istället.

NöffMedlem sedan nov. 2003569 inlägg
#3

uuuh, jag tror inte jag kan tillämpa det, eftersom det är inte i alla scenarion alla relationer ska deletas, ibland ska det bara vara de 2 sista som ska raderas. hur gör man då? :x

NöffMedlem sedan nov. 2003569 inlägg
#4

Men kan man inte använda nån mysig SELECT sats inne i DELETE?.

DELETE FROM produkt WHERE produkt.ID=(SELECT ID FROM kategori) eller nåt?,, måste jag verkligen använda triggers?.

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Någon trigger skall inte behövas.

Det går att göra så som du skrev i delete, men det är vanligare att man gör något i stil med

DELETE FROM produkt 
WHERE produkt.ID in (SELECT produktID FROM kategori where kategori = 'OGRISH')

Skillnaden mellan att använda = och in vid subselect är att det i det förra fallet blir fel om subselecten returnerar mer än en post.

125 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)