日別アーカイブ: 2012年2月15日

intレコードの値をランダムに更新してみる – MySQL UPDATE RAND ROUND

プチMySQLメモ

マスターテーブル usershop_id(int) カラムがあって、ユーザの登録店舗を保存しているとする。

店舗再設置に伴い店舗をランダムに振り分ける場合

UPDATE user SET shop_id = ROUND(RAND()*10)

これで、0~10のIDが振られる。 最低値を1にするなら 1+RAND()*9。
MySQLのRAND()関数は、0~1.0の範囲の小数乱数を発生するので、これに10を乗算して0~10.0の範囲にして、ROUND()関数で小数点以下を丸めてint型に適合させる。

(2472)

カテゴリー: MySQL | コメントをどうぞ