mysql复制到另一个只有新记录

Posted

技术标签:

【中文标题】mysql复制到另一个只有新记录【英文标题】:mysql copy to another only new records 【发布时间】:2013-06-15 19:30:36 【问题描述】:

我要两张桌子:

语言温度:

sku|postid|fi|en|ru(15000 条记录/包括 200 条 full_products 记录)

完整产品:

sku|postid|fi|en|ru|xx|zzz|aaaa|bbb(200 条记录)

postid 是唯一的,不能相同。

我只需要将新记录从 lang temp 复制到 full_products。怎么可能查询?

【问题讨论】:

【参考方案1】:

试试

INSERT INTO full_products (sku,postid,fi,en,ru)
SELECT sku,postid,fi,en,ru
  FROM lang_temp l
 WHERE NOT EXISTS 
 (
   SELECT 1 
     FROM full_products
    WHERE post_id = l.post_id
      AND sku = l.sku
 )

【讨论】:

在某些查询中插入和选择? @user2421781 没错。阅读INSERT ... SELECT Syntax 而在 phpmtadmin 中它只像 select 一样工作,查询不做任何插入 无论使用什么工具,它的工作原理都是一样的。问题在于不存在子查询的条件。为了做到这一点,您能否发布两个表的示例数据以及执行 desc full_productsdesc lang_temp 的结果 谢谢,现在它可以工作了,但是我怎么做检查 - 如果 full_products.postid 没有数学 lang_temp ,那么删除 rhe full_products 记录

以上是关于mysql复制到另一个只有新记录的主要内容,如果未能解决你的问题,请参考以下文章

MySQL如何复制表中的一条记录并插入

Mysql主从复制

NodeJS,mysql2/promise,连接池执行,将数据复制到另一个数据库

mysql复制数据库的表到另一个数据库不存在的表

mysql主从复制

mysql A表部分记录复制到B表