0

我正在使用 phpmyadmin 将网站从 cubecart v3 迁移到 opencart 2.0 并且刚刚完成了最后重要的事情,

但是国家和县的ID不同

这就是我的想法

UPDATE `oc_address` SET `country_id`=
(SELECT country_id
FROM `oc_country`
WHERE `oc_country`.`name`=`shop_old`.`CubeCart_iso_countries`.`printable_name`
AND `shop_old`.`CubeCart_iso_countries`.`id`=`shop_old`.`CubeCart_customer`.`country`
AND `oc_address`.`customer_id`=`shop_old`.`CubeCart_customer`.`customer_id`)

但我不断收到未知列错误我什至尝试将iso国家表从旧数据库复制到新数据库并指向它以供参考但每次我在where子句中得到未知列时,我什至得到了oc.address.customer_id

我对 SQL 非常陌生(今天是我第一次使用)我已经迁移了其他所有内容,但我需要迁移县和国家/地区的客户地址的 zone_ID,我希望保持新数据库不变,并且以为当国家名称与旧表上的名称匹配并且旧表上的区域 ID 与客户旧地址表上的区域 ID 匹配时,我可以引用新表的国家 ID

例如,
旧 DB = UK ID 是 225,Angus ID 是 185,
New DB = UK ID 是 222,Angus ID 是 3516

如何更新或插入数据以更正国家和地区 ID?

提前感谢任何抽出时间向所有人回复圣诞老人节快乐的人

4

1 回答 1

0

最后,我将旧的 cubecart_iso_countries 表复制到新的 Opencart 数据库中,从旧数据库中插入所有客户地址

然后运行以下 UPDATE oc_addressSET country_id= ( SELECT country_id FROM oc_country INNER JOIN CubeCart_iso_countriesON oc_country. name= CubeCart_iso_countries. name WHERE CubeCart_iso_countries. id= oc_address. country_id )

然后它正确更新了所有客户地址中的国家 ID

于 2014-12-24T03:16:54.633 回答