• Алгоритм для изменения большого кол-ва строк в БД

    @kirsan_vlz
    mysql> select * from test;;
    +----+------+
    | id | num |
    +----+------+
    | 1 | NULL |
    | 2 | NULL |
    | 3 | NULL |
    | 4 | NULL |
    | 5 | NULL |
    +----+------+
    5 rows in set (0.00 sec)

    mysql> update test set num = rand(12)*1000000;
    Query OK, 5 rows affected (0.00 sec)
    Rows matched: 5 Changed: 5 Warnings: 0

    mysql> select * from test;
    +----+--------+
    | id | num |
    +----+--------+
    | 1 | 157418 |
    | 2 | 629671 |
    | 3 | 676102 |
    | 4 | 491496 |
    | 5 | 429176 |
    +----+--------+
    5 rows in set (0.00 sec)

    Комментарии, я думаю, излишни )
    Единственное — функции rand() параметром передаётся лишь стартовое значение рандомайзера, а не диапазон случайной величины. И возвращает функция значение от 0 о 1. Поэтому умножением приводите результат к нужному порядку.
    Ответ написан
    1 комментарий