Domanda

Desidero allegare una colonna alla mia tabella che sarà un numero casuale da un elenco sequenziale = al numero di righe.

Quindi, se la mia tabella avesse 999 righe , allora i numeri da 1 a 999 sarebbero assegnati in modo casuale e univoco .

Ora, ho pensato che avrei potuto aggiungere un finto TempRandomColumn = Rand (), ordinarlo per quello e aggiungere i numeri in sequenza usando PHP. Ma questo significa 999 dichiarazioni MySQL.

C'è un modo per farlo usando una singola istruzione MySQL?

Grazie per qualsiasi suggerimento.

È stato utile?

Soluzione

SET @r := 0;
UPDATE  items2
SET     author_id = (@r := @r + 1)
ORDER BY
        RAND()

Altri suggerimenti

SET @i=1;
SELECT t.*, @i:=@i+1 as RAND_NUM FROM your_table t ORDER BY RAND();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top