[MySQL] Random Select & daarna een update *

Pagina: 1
Acties:

  • Darius
  • Registratie: Juli 2001
  • Nu online
Hallo,

Ik zit met de volgende probleem :

Ik heb een tabel met ids, waar ik een random select query in doe :

code:
1
SELECT naam FROM tabel WHERE ID>43 ORDER BY RAND() LIMT 10


Hier gaat alles gewoon goed. Heel simpel. Ik wil alleen op de bovengenoemde recordset dus een update query uitvoeren. Omdat het random gesorteerd is kan ik niet gewoon een where erachter aan plakken. Kan iemand me de goede richting opsturen ?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Ik heb geen idee waar je heen wil... Je kan vanuit je programmeertaal updates doen op de velden uit deze query, of je bouwt een pure update query op als deze:
code:
1
UPDATE tabel SET naam = naam + 'test' WHERE ID>43 ORDER BY RAND() LIMT 10

Maar die query zal wel niet werken, en is sowieso niet mogelijk als elk record in de update anders moet zijn.
Ik denk dat je vast zit aan je scripting- of programmeertaal, en het daar moet oplossen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Darius
  • Registratie: Juli 2001
  • Nu online
Ik wil gewoon op dezelfde records die in de select query opvraag een update query doen. Ik snap wel dat dit gewoon kan op scripting niveau, maar d8 dat er mischien wel een manier in mysql was om zoiets voor elkaar te krijgen. Heb in de documentatie namelijk nix kunnen vinden wat mij zou kunnen helpen.

Wat wel volgens mij een oplossing is, is de output in een temporary tabel zetten. Weet iemand mischien een andere oplossing ?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

IMHO is het oplossen met een tijdelijke tabel nogal lelijk. Je leest eerst data in uit de tabel, zet het in een tijdelijke tabel, waar je weer een query op moet doen om de gegeven die je wil veranderen te veranderen, die update je weer in je normale tabel en dan moet je ze nog uit de tijdelijke tabel verwijderen.
Doe het dan liever gewoon in je scripting taal.

Ik denk niet dat het puur met SQL mogelijk is in MySQL, misschien als ze subqueries fatsoenlijk zouden ondersteunen...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Darius
  • Registratie: Juli 2001
  • Nu online
Daar ben ik dus ook bang voor. Vind het zelf ook geen mooie oplossing. Dan moet het maar met de hand :(