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型に適合させる。

(2352)


カテゴリー: MySQL   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です