Posted at

[MYSQL]サブクエリを使いレコードを更新する


モチベーション

テストデータを作るのにcreated_atCURRENT_TIMESTAMPを使用したので、バラツキのある日付にしたかった。

バラツキは100日前を制限とし更新したい。


sample.sql

UPDATE

users,
(
SELECT id, DATE_SUB(created_at, INTERVAL (ROUND(RAND() * 99 + 1)) DAY) as sub_users_created_at from users
) AS date_sub_users
SET
users.created_at = date_sub_users.sub_created_at
WHERE
users.id = date_sub_users.id;

備忘録です。