Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将所有数据移动到除id以外的其他表_Php_Mysql - Fatal编程技术网

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,请仔细阅读我的帖子。移动是
插入。。。选择…
语句,因此重复项适用。