我正在使用 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=英国ID为225,安格斯ID为185,
新DB=英国ID为222,安格斯ID为3516
如何更新或插入数据以更正国家/地区和地区 ID?
提前感谢所有抽出时间回复的人 祝大家圣诞老人节快乐
最佳答案
最后 我将旧的cubecart_iso_countries表复制到新的Opencart数据库 插入所有客户地址'来自旧数据库
然后运行以下命令
更新 oc_address
SET country_id
= (
选择国家 ID
来自oc_country
INNER JOIN CubeCart_iso_countries
ON oc_country
.name
= CubeCart_iso_countries
.name
WHERE CubeCart_iso_countries
.id
= oc_address
.country_id
)
然后它正确更新了所有客户地址中的国家/地区 ID
关于mysql - 使用SQL迁移地址,但不同数据库的表具有不同的区域ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627335/