yunjuant
2016-12-06 09:53
采纳率: 0%
浏览 1.6k

mysql 如何复制a表数据到b表,列不一致

目前有在两个数据库分别有两张表,即A库中的表a和B库中的表b。A库是原始库,b库是中间库。
现在想把b表的数据插入a表中。是否用存储过程比较好?该怎么写?

使用了insert into select 语句 ,但是存在以下问题。
存在的问题:
1、a表两张表的字段不一致,a表中的部分字段b表中没有。如何在插入的时候给a表中的这些字段赋值?
2、可能存在主键重复的情况,如何判断,在发生该问题的时候能够自动忽略,避免运行报错中断。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • yicp123 2016-12-06 10:14

    可以使用:
    INSERT IGNORE INTO… SELECT … ON DUPLICATE KEY UPDATE …
    1.明确地指定IGNORE,用于忽略会导致重复关键字错误的记录;
    2.明确指定如果有,则根据主键更新;
    3.没有的字段可以给空值,或者insert 的时候不给值;

    参考自:MySQL INSERT … SELECT用法详解 http://www.data.5helpyou.com/article423.html

    打赏 评论

相关推荐 更多相似问题