webForumDet fria alternativet

Random från String-Array

Databaser & SQL

1 svar · 547 visningar · startad av Gildebrand

Medlem sedan juni 2009920 inlägg
Frågan#1

Hejsan!

Jag har en tabell med cirkus 500k poster, som jag bara använder för labb.
Jag skulle vilja uppdatera varje post så att den i kolumnen City, får en slumpad stad. Så säg att jag har städerna Falun Borlänge Stockholm, då ska Varje post uppdateras med EN utav dessa tre städer, slumpmässigt vald. Hur kan man lösa det?

Medlem sedan aug. 20039 340 inlägg
#2

Om du har städerna lagrade i en annan tabell bör det inte vara svårare än: (annars kan du skapa den som nedan)

CREATE TABLE test_cities(cityname VARCHAR(42));
INSERT INTO test_cities VALUES ('Stockholm'),('Lund'),('Malmö');

UPDATE users
SET city = (
    SELECT cityname 
    FROM test_cities 
    ORDER BY RAND() 
    LIMIT 1
);

Detta gäller för MySQL. Du får använda lite annorlunda metoder för att välja slumpade rader i andra DBMS'er.

247 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)