我正在将网站迁移到 WordPress。但是,旧站点仍处于活动状态。我进行导入时最后声明的 ID 是 271。一个用户向旧站点提交了一个帖子,这个帖子声明了 ID 272。但是,我在新站点上发布了一个测试帖子,声明了 ID 272。所以现在,当我尝试从旧站点导入最新帖子(即使我删除了我的测试帖子)它声称 ID 272 已被占用。有没有办法从新站点中删除它以便我可以导入它?
它们需要匹配的原因是因为我计划让旧站点重定向到新站点,因此 ID 需要匹配(否则我最终会猜测是否让它们都失去同步)。
我正在将网站迁移到 WordPress。但是,旧站点仍处于活动状态。我进行导入时最后声明的 ID 是 271。一个用户向旧站点提交了一个帖子,这个帖子声明了 ID 272。但是,我在新站点上发布了一个测试帖子,声明了 ID 272。所以现在,当我尝试从旧站点导入最新帖子(即使我删除了我的测试帖子)它声称 ID 272 已被占用。有没有办法从新站点中删除它以便我可以导入它?
它们需要匹配的原因是因为我计划让旧站点重定向到新站点,因此 ID 需要匹配(否则我最终会猜测是否让它们都失去同步)。
DELETE FROM YourTable
WHERE id = 272
将YourTable
和替换id
为数据库中的实际表名和列名。
如果表是用 Engine=InnoDB 创建的,Barmar 说的答案是对的。
当且仅当 FOREIGN_KEY_CHECKS = 1 时,这对 InnoDB 是正确的;否则,父表中的 DELETE 不会从子表中删除行,这些行引用了从父表中删除的行。
因此,在删除某些内容之前要小心。如果要查看表使用的引擎,请键入:
SHOW CREATE TABLE TABLE_NAME