首页 > 解决方案 > 将数据从一个数据库传输到另一个 MYSQL

问题描述

我在 phpmyadmin 中有 3 个数据库,在将数据从一个数据库迁移到另一个数据库时需要一些帮助。

  1. 第一个数据库: 数据库名称:ethernet 表名称:data

桌子:

CREATE TABLE ethernet.data(
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    event TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    Count0 VARCHAR(10) NOT NULL,
    Count1 VARCHAR(10) NOT NULL,
    Count2 VARCHAR(10) NOT NULL,
    FPY VARCHAR(10) NOT NULL,
)
  1. 第二个数据库:数据库名称:ethernet1 表名称:data1

桌子:

CREATE TABLE ethernet1.data1(
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    event TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    Count0 VARCHAR(10) NOT NULL,
    Count1 VARCHAR(10) NOT NULL,
    Count2 VARCHAR(10) NOT NULL,
    FPY VARCHAR(10) NOT NULL,
)
  1. 第三个数据库: 数据库名称:ethernet 表名称:data

桌子:

CREATE TABLE fpydcih.data2(
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    event TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    FPYSVSL VARCHAR(10) NOT NULL,
    FPYZ2FS VARCHAR(10) NOT NULL,
)

想法是从 ethernet.data FPY 列导出最后 10 个值,从ethernet1.data1 FPY 列导出最后 10 个值,并将它们导出到fpydcih.data2表中。

标签: mysqlsql

解决方案


你似乎想要union all。像这样的东西:

insert into fpydcih.data2 (id, event, count0, count1, count2, count3, fpa)
    (select id, event, count0, count1, count2, count3, fpa
     from ethernet.data
     order by event desc
     limit 10
    ) union all
    (select id, event, count0, count1, count2, count3, fpa
     from ethernet1.data1
     order by event desc
     limit 10
    );

您也可以将其表述为两个单独insert的 s。或者,如果目标表不存在,请使用create table as.


推荐阅读