Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 MySQL将数据迁移到完全不同的数据库结构并保持关系完整_Php_Mysql_Database - Fatal编程技术网

Php MySQL将数据迁移到完全不同的数据库结构并保持关系完整

Php MySQL将数据迁移到完全不同的数据库结构并保持关系完整,php,mysql,database,Php,Mysql,Database,我有一个数据库需要迁移到一个完全不同的结构中(我们将从一个定制的CMS迁移到一个稍微修改过的Wordpress DB) 我可以很容易地拉取各个表并将它们映射到新结构上,但我正在努力找到一种方法来保持表之间的关系 例如,在旧数据库中,我有一个customer和basket表,从customer表中加入1到多。(即一个客户-多个篮子)。将这些映射到新数据库很简单(user、usermeta和一个自定义表)。但是,新数据库中的键与旧数据库中的键完全不同,因此我无法使用它们将新记录关联在一起 我怎样才能

我有一个数据库需要迁移到一个完全不同的结构中(我们将从一个定制的CMS迁移到一个稍微修改过的Wordpress DB)

我可以很容易地拉取各个表并将它们映射到新结构上,但我正在努力找到一种方法来保持表之间的关系

例如,在旧数据库中,我有一个customer和basket表,从customer表中加入1到多。(即一个客户-多个篮子)。将这些映射到新数据库很简单(user、usermeta和一个自定义表)。但是,新数据库中的键与旧数据库中的键完全不同,因此我无法使用它们将新记录关联在一起


我怎样才能重新建立这种关系?(即使是宽泛的术语也会有帮助)

我唯一想到的是将旧密钥保留在“临时”列中

  • 首先使用新id列创建customer表,保留旧id列
  • 现在创建basket表(不带 外键约束)
  • 运行更新查询,以更新新篮子 使用新客户id的键列,加入旧键(抱歉,不太了解MySQL更新语法,无法给出示例)
  • 在新列上重新创建外键约束
  • 删除“旧”列

希望这能有所帮助。

嘿-这听起来像是一个解决方案!