我正在尝试提供同步2个不同数据库表的特定行的最佳方法。因此,例如,不同数据库中有2个产品表......
原始数据库
product{
merchant_id,
product_id,
... additional fields
}
目的地数据库
product{
merchant_id
product_id
... additional fields
}
因此,两者的数据库架构是相同的。但是,我希望选择具有特定merchant_id的记录,从目标表中删除具有该merchant_id的所有记录,并将这些记录替换为来自同一merchant_id的原始数据库的记录。
我的第一个想法是使用mysqldump,解析出create table语句,并且只运行Insert Statements。看起来虽然很痛苦。所以我想知道是否有更好的技术来做到这一点。
我认为mysql有一些创建INSERT语句作为SELECT语句输出的方法,因此您可以定义如何将特定记录信息插入到新数据库中。
任何帮助将不胜感激,非常感谢。
答案 0 :(得分:1)
phpMyAdmin具有此功能的一部分:您可以运行查询,然后将该查询的结果导出到包含CREATE语句的文件中。
更新:mysqldump
也有:Link
mysqldump -u username -p --where="id='merchant_id'" databasename
关于更换商家ID,我还不完全了解那部分。你可能最好做一个手动搜索+替换它们。你能说出两个这样的记录吗?