webForumDet fria alternativet

DELETE fråga

Databaser & SQLur Databashanterare & SQL

3 svar · 426 visningar · startad av royne

Medlem sedan sep. 20045 inlägg
Frågan#1

jag testar att göra ett litet forum och har ett problem.
Jag har tre tabeller forum, thread och post.

Om jag vill radera ett forum hur ska jag kunna radera alla inlägg i post tablellen som hör till forumet. För så vida jag förstår så kan jag inte använda join på en DELETE FROM.

kör mySQL 4.0.22

Medlem sedan apr. 20012 427 inlägg
#2

Varför kan du inte köra tre frågor?

Medlem sedan sep. 20045 inlägg
#3

jag är nog bara trög men ett forum innehåller många trådar och många trådar innehåller ju många post:s

DELETE FROM thread WHERE forumId=x
DELETE FROM forum WHERE forumId=x

så långt är det lungt men sen då?

post tabellen innehåller ju variabla threadId och ingen forumId så. Att lista eller räkna alla poster i ett visst forum är ju lungt med Join men radera dem då?

Medlem sedan feb. 20011 198 inlägg
#4
delete from post where threadid in (select threadid from thread where forumid=x)

Eller det kanske inte funkar i MySQL?

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