Wstawianie losowych liczb do kolumny

Wstawianie losowych liczb do kolumny
A1
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
Jak wstawić do kolumny dokładnie 12 losowych liczb ?
Udało mi się coś takiego, ale nie do końca dobrze to działa: :(

UPDATE oc_product SET sku = (FLOOR(1 + RAND() * 123456789012)) WHERE product_id IN ('50','51','52','53')

I jeszcze jak usunąć całą zawartość tylko kolumny sku ?

Pomoże ktoś ? :)

S1
  • Rejestracja: dni
  • Ostatnio: dni
0

Do usunięcia zawartości całej tabeli użyj TRUNCATE TABLE sku;
Jeśli chodzi o kolumnęALTER TABLE [tabela] DROP COLUMN [kolumna]

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

@Skynet12: ZAWARTOŚĆ kolumny a nie całą kolumnę.

@armen10
I jeszcze jak usunąć całą zawartość tylko kolumny sku ? jeśli chodzi Ci o wstawienie w tą kolumnę np. null to UPDATE tabela SET sku = null

Jak wstawić do kolumny dokładnie 12 losowych liczb ? nie da się do jednej kolumny wstawić 12 liczb (chyba, że ta kolumna jest typu varchar a liczby mają być np. w takiej postaci 1, 2, 3, ...). Napisz DOKŁADNIE co chcesz zrobić

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3902
0

Do tego co robisz to rand() się nie nadaje, ponieważ wywołanie rand() w ramach jednego batcha zawsze zwróci tę samą wartość, czyli w twoim przypadku wszystkie rekordy będą miały to same SKU.
Jeżeli chcesz "losowo" uzupełnić liczbami z zakresu 1-12 to można np. tak:

Kopiuj
UPDATE 
     oc_product 
SET 
    sku =  1.0 + floor(12 * RAND(convert(varbinary, newid())))  
WHERE 
    product_id IN ('50','51','52','53')

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.