参考記事
・https://www.softel.co.jp/blogs/tech/archives/4730
・http://qiita.com/tayasu/items/c5ddfc481d6b7cd8866d
SQL
はじめに、空データを作成します。
(倍々に増えていきます。)
INSERT INTO item () VALUES (); --1行目作成
INSERT INTO item (id) SELECT 0 FROM item; --2行になる
INSERT INTO item (id) SELECT 0 FROM item; --4行になる
INSERT INTO item (id) SELECT 0 FROM item; --8行になる
INSERT INTO item (id) SELECT 0 FROM item; --16行になる
データをランダムにUPDATEします。
UPDATE item SET
item_id = CEIL(RAND() * 10000), -- ①
item_name = CONCAT(SUBSTRING(MD5(RAND()), 1, 5),'商品'), -- ②
t_stamp = ((RAND()*(0.1464706800 - 0.1433084400)+0.1433084400)*10000000000), -- ③
next_m_timestamp = t_stamp + 2592000, -- ④
del_flg = ROUND(RAND()); -- ⑤
解説
①小数点切り上げ, ランダムな数字
item_id = CEIL(RAND() * 10000), -- ①
CEIL - 小数点切り上げ
RAND - 0~1の間の浮動小数点乱数を計算
②文字の連結, ランダムな文字
item_name = CONCAT(SUBSTRING(MD5(RAND()), 1, 5),'商品'), -- ②
CONCAT - 文字の連結を行う
SUBSTRING(MD5(RAND()), 1, 5)
- MD5(RAND() => ランダムな文字列,
- 第2引数 => ランダムな文字列のstart位置
- 第3引数 => ランダムな文字列のend位置
③RANDの範囲指定
t_stamp = ((RAND()*(0.1464706800 - 0.1433084400)+0.1433084400)*10000000000), -- ③
(RAND()*(① - ②)+②)*10000000000 -- ① ~ ② の間でランダム値が出力される。
④計算値の使用
next_m_timestamp = t_stamp + 2592000, -- ④
⑤四捨五入
del_flg = ROUND(RAND()), -- ⑤
ROUND - 四捨五入