Wstawianie losowych liczb do kolumny

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ś ? :)

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]

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ć

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:

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1