テーブルに updated_date という「タイムスタンプ」タイプの列があります。テーブルに列を追加すると、すべての行が同じ updated_date に更新されました。まだテスト中なので大惨事ではありませんが、サイトの機能が壊れてしまいました (updated_date の順に表示されます)。
列のすべての updated_date 値 (ただし、id が x より小さい場合) をランダムな日付 (または増分日付) に変更する方法はありますか?
前もって感謝します!
これはあなたの問題を解決するかもしれません:
UPDATE updated_table SET timestamp = FROM_UNIXTIME(1e9 + id) WHERE id < x;
基本的に、日付を 10 億 + id に対応する Unix タイムスタンプに設定します (1,000,000,000 unix タイムスタンプは 2001-09-08 21:46:40 です)。そうすれば、ID の順に一意のタイムスタンプを取得できます。
まあ、あなたはこれを行うことができます
UPDATE table SET updated_time = NOW() WHERE id < x
指定された ID はテーブルに属します
過去のランダムなデータが必要な場合
UPDATE test2 SET update_time = NOW() - interval rand()*120 day - interval rand()*36000 second WHERE id < x
ニーズに合わせて微調整
タイムスタンプは、エポック (1970-01-01 00:00:01) からの秒数です。ベースのタイムスタンプから開始する場合は、その数値以降のランダムな秒数を追加するだけで、ランダムな日付が得られます。