以下是我的表格详情。
Id(A.inc)| Title | StartDate
1 | Program | 2016-11-11T22:05:00
2 | Songs | 2016-11-11T22:10:00
3 | Speech | 2016-11-11T22:15:00
4 | News | 2016-11-11T22:20:00
5 | Debate | 2016-11-11T22:25:00
我需要将所有上述详细信息复制到同一个表格中,并在StartDate
列中显示第二天的更新值,而ID
应该是唯一的自动递增值。
以下是我所期待的细节,
Id(A.inc)| Title | StartDate
6 | Program | 2016-11-12T22:05:00
7 | Songs | 2016-11-12T22:10:00
8 | Speech | 2016-11-12T22:15:00
9 | News | 2016-11-12T22:20:00
10 | Debate | 2016-11-12T22:25:00
是否可以使用mysql?在此先感谢:)
答案 0 :(得分:2)
我假设您的Id
列是AUTO_INCREMENT-ed,您只想复制数据,而不是替换。为此,你可以试试这个:
INSERT INTO your_table (Id, Title, StartDate)
SELECT Id, Title, DATE_FORMAT(DATE_ADD(StartDate, INTERVAL 1 DAY), '%Y-%m-%dT%k:%i:%s')
FROM your_table
WHERE Id BETWEEN 1 and 5;
或者只是省略Id
列,因为AUTO_INCREMENT-ed列会自动增加其值。
INSERT INTO your_table (Title, StartDate)
SELECT Title, DATE_FORMAT(DATE_ADD(StartDate, INTERVAL 1 DAY), '%Y-%m-%dT%k:%i:%s')
FROM your_table
WHERE Id BETWEEN 1 and 5;
有关日期和时间格式的更多信息:MySQL Date and Time Functions