[mysql] Redundancy maken?

Pagina: 1
Acties:

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025
Ik heb (bijvoorbeeld) de tabellen:
topics(id,title,...,postCount)
posts(id,text,topicid,...)


Nu weet ik aanvankelijk de postcount natuurlijk niet. Als ik de database wil update wil ik iets doen als:

Update topics
Set postcount = count(posts.id)
where topicId = topics.id

Hoe is de syntax voor zo'n query? Ik heb al behoorlijk wat mogelijkheden geprobeerd, maar niets gevonden...
Ik kan me herinneren dat ik ergens een voorbeeld heb gezien, maar ik weet niet meer waar :'( ;(

Localhost, sweet localhost


  • Grum
  • Registratie: Juni 2001
  • Niet online
volges mij kan php dat niet >:) (don't pin me down on this)

Maar zo 'nuttig' is het ook niet .. php kan zeer snel counten .. zeker als jij normale indices hebt en/of op de primary key count. Je kan hem dus gewoon in de query dat je em wilt hebben 'dynamisch' ophalen.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

mysql ondersteund (nog) geen subqueuries dus je zal het met meerdere queries moeten doen.
- topicid en aantallen opvragen uit posts (GROUP BY)
- recordset doorlopen en update queries uitvoeren voor elk topic in topics

btw. dit kan lekker lang duren als je veel topics hebt ;)

/edit:
hmm, veeeel te laat ;)
btw. Grum_, telkens "php" in je post is een grapje? toch??

Today's subliminal thought is:


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025
Ik heb het opgelost met een tijdelijke tabel...

Localhost, sweet localhost