如何将MYSQL记录检索为INSERT语句

时间:2010-05-12 18:11:32

标签: mysql mysqldump

我正在尝试提供同步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语句输出的方法,因此您可以定义如何将特定记录信息插入到新数据库中。

任何帮助将不胜感激,非常感谢。

1 个答案:

答案 0 :(得分:1)

phpMyAdmin具有此功能的一部分:您可以运行查询,然后将该查询的结果导出到包含CREATE语句的文件中。

更新:mysqldump也有:Link

mysqldump -u username -p --where="id='merchant_id'" databasename

关于更换商家ID,我还不完全了解那部分。你可能最好做一个手动搜索+替换它们。你能说出两个这样的记录吗?