Pereiti prie turinio

Problema su Mysql DELETE uzklausa


Rekomenduojami pranešimai

Naudoju mysql duomenų bazę, turiu tris lenteles 'categories', 'posts', 'cp_link'. 'categories' lentelėje yra kategorijos kurios turi unikalų cat.id.

'posts' lentelėje yra visa reikalinga post'o informacija ir post.id. 'cp_link' turi cat_id post_id laukus ir ši lentelė sujungia categorijas su postais. Lentelė saugo visus postų ir kategorijų unikalius id.

Naudojant:

SELECT * FROM posts INNER JOIN cplink ON posts.id = cplink.post_id WHERE cplink.cat_id =3 

Viskas puikiai, gaunami visi postai su 3 kategorija.

 

Problema: Reikia sugalvoti ištrinimo užklausą kuri pašalina visus 3 kategorijos postus. Naudojant tai meta mysql error'a.

 DELETE * FROM posts INNER JOIN cplink ON posts.id = cplink.post_id WHERE cplink.cat_id =3

Nuoroda į pranešimą
Dalintis kituose puslapiuose

DELETE * FROM posts WHERE posts.id IN (SELECT post_id FROM cplink WHERE cat_id=3)

 

 

tik reiktu nepamirst, kad istrynus duomenis is posts lenteles, tavo irasai cplink lentoj taps neteisingi. Na o jei esi apibrezes "foreign key" tarp posts.id ir cplink.post_id, tai ir trinti neleis.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...