Php 将所有数据移动到除id以外的其他表
将记录从Php 将所有数据移动到除id以外的其他表,php,mysql,Php,Mysql,将记录从posts移动到archive $stmt = $db->prepare( "insert into archive (date, art, img, vid, title, subtitle, story, tags, status, user, pos, titlex, inde) select date, art, img, vid, title, subtitle, story, tags, status, user, pos, titlex, inde f
posts
移动到archive
$stmt = $db->prepare(
"insert into archive (date, art, img, vid, title, subtitle, story, tags, status, user, pos, titlex, inde)
select date, art, img, vid, title, subtitle, story, tags, status, user, pos, titlex, inde from posts
where id = :aid"
);
不要告诉我没有像这样的选项:move*除了id…。
id
无法移动,因为它可能与存档的id发生冲突。没有像move
这样的选项。。您需要将它插入一个表中,然后从另一个表中删除它
但是,您可能需要重新考虑表的设计。如果您想归档某些内容,而不是两个单独的表包含相同类型的数据,则应在posts
表中添加一个标志,以指示条目是否已归档。大概是这样的:
ALTER TABLE posts ADD archived BOOLEAN DEFAULT 0;
当一篇文章正常添加且未存档时,
archived
列设置为0。当您想要存档某些内容时,只需运行一条UPDATE
语句,将该记录的值设置为1。只是想知道,为什么要这样做。如果您需要,您可以使用join获取数据?@Shadow除非我完全误读了这个问题,否则它与您标记为重复的问题完全不同。@user2486,我不想获取但移动数据。@Shadows,请仔细阅读我的帖子。移动是插入。。。选择…
语句,因此重复项适用。