Insert into page (id, title, body, page, visible) Select 2, title, body, page, visible
Can be done (only in MySQL) without DELETE using UPDATE DUPLICATE KEY UPDATE:
INSERT INTO page (id, title, body, page, visible) SELECT 1, title, body, page, visible FROM page WHERE id=2 ON DUPLICATE KEY UPDATE title= VALUES(title), page= VALUES(page), visible= VALUES(visible);
However, you can also make (perhaps better) an ANSI-compatible way with self-connection:
UPDATE page AS page1 JOIN page AS page2 ON page1.id=1 AND page2.id=2 SET page1.title=page2.title, page1.body= page2.body, page1.page= page2.page, page1.visible=page2.visible
bobince
source share