我試過這個查詢,但沒有用:
UPDATE phonebooks SET created_at = DATE_ADD(created_at, INTERVAL 10 second)
我目前的記錄是這樣的:
| ID | 日期 |
|---|---|
| 1 | 2022-03-24 10:30:34 |
| 2 | 2022-03-24 10:30:34 |
| 3 | 2022-03-24 10:30:34 |
| 4 | 2022-03-24 10:30:34 |
| 5 | 2022-03-24 10:30:34 |
| 6 | 2022-03-24 10:30:34 |
| 7 | 2022-03-24 10:30:34 |
我想像這樣獲得這些記錄:
| ID | 日期 |
|---|---|
| 1 | 2022-03-24 10:30:44 |
| 2 | 2022-03-24 10:30:54 |
| 3 | 2022-03-24 10:31:04 |
| 4 | 2022-03-24 10:31:14 |
| 5 | 2022-03-24 10:31:24 |
| 6 | 2022-03-24 10:31:34 |
| 7 | 2022-03-24 10:31:44 |
uj5u.com熱心網友回復:
現在,您只需為每行添加 10 秒,但您需要一些可以根據您正在更新的行增加間隔的東西。根據您的示例,您可以使用 ID 作為乘數。
UPDATE phonebooks SET created_at = DATE_ADD(created_at, INTERVAL 10 * id second)
如果您的 ID 中有空白,這將無法完全按照指定的方式作業。
uj5u.com熱心網友回復:
表中未知位置的動態解決方案。將使用用戶定義的變數。
時間的起點由 UPDATE WHERE 子句確定
CREATE TABLE table1 ( `ID` INTEGER, `DATE` VARCHAR(19) ); INSERT INTO table1 (`ID`, `DATE`) VALUES ('1', '2022-03-24 10:30:34'), ('2', '2022-03-24 10:30:34'), ('3', '2022-03-24 10:30:34'), ('4', '2022-03-24 10:30:34'), ('5', '2022-03-24 10:30:34'), ('6', '2022-03-24 10:30:34'), ('7', '2022-03-24 10:30:34');
SET @date = ''
UPDATE table1 SET `DATE` = IF(@date = '', @date := DATE_ADD(`DATE`, INTERVAL 10 second), @date := DATE_ADD(@date, INTERVAL 10 second) ) WHERE `DATE` >= '2022-03-24 10:30:34'
SELECT * FROM table1身份證 | 日期 -: | :----------------- 1 | 2022-03-24 10:30:44 2 | 2022-03-24 10:30:54 3 | 2022-03-24 10:31:04 4 | 2022-03-24 10:31:14 5 | 2022-03-24 10:31:24 6 | 2022-03-24 10:31:34 7 | 2022-03-24 10:31:44
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449528.html
