我的表存储我的 CMS 条目的修订数据。每个条目都有一个 ID 和一个修订日期,并且有多个修订:
Table: old_revisions
+----------+---------------+-----------------------------------------+
| entry_id | revision_date | entry_data |
+----------+---------------+-----------------------------------------+
| 1 | 1302150011 | I like pie. |
| 1 | 1302148411 | I like pie and cookies. |
| 1 | 1302149885 | I like pie and cookies and cake. |
| 2 | 1288917372 | Kittens are cute. |
| 2 | 1288918782 | Kittens are cute but puppies are cuter. |
| 3 | 1288056095 | Han shot first. |
+----------+---------------+-----------------------------------------+
我想将其中一些数据传输到另一个表:
Table: new_revisions
+--------------+----------------+
| new_entry_id | new_entry_data |
+--------------+----------------+
| | |
+--------------+----------------+
我想将entry_id
and转移entry_data
到new_entry_id
and new_entry_data
。但我只想传输每个条目的最新版本。
我得到了这个查询:
INSERT INTO new_revisions (
new_entry_id,
new_entry_data
)
SELECT
entry_id,
entry_data,
MAX(revision_date)
FROM old_revisions
GROUP BY entry_id
但我认为问题在于我试图将 3 列数据插入 2 列。
如何在不传输修订日期的情况下根据修订日期传输数据?