将所有内容移到除id之外的另一个表

时间:2017-08-17 08:09:38

标签: 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 from posts
    where id = :aid"
);

不要告诉我没有选择如下:
move * except id...

id由于可能与存档ID有关而无法移动。

1 个答案:

答案 0 :(得分:1)

没有像move这样的选项..您需要将其插入一个表中,然后将其从另一个表中删除。

但是,您可能需要重新考虑您的桌面设计。如果要存档某些内容,而不是包含两个包含相同类型数据的单独表,则应在posts表中添加一个标记,以指示是否存档条目。像这样:

ALTER TABLE posts ADD archived BOOLEAN DEFAULT 0;

如果通常添加帖子且未归档,则archived列设置为0.如果要归档某些内容,只需运行UPDATE语句,将其设置为1记录。