Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将数据库表中的行子集从一个数据库复制到另一个数据库_Mysql_Sql_Records - Fatal编程技术网

Mysql 将数据库表中的行子集从一个数据库复制到另一个数据库

Mysql 将数据库表中的行子集从一个数据库复制到另一个数据库,mysql,sql,records,Mysql,Sql,Records,我有一个与测试数据库模式完全相同的产品数据库。该模式由100多个表组成,它是一个典型的关系数据库模式,这意味着外键被广泛使用。我需要实现的是将数据子集(例如,员工ID>100的所有员工)从一个数据库复制到另一个数据库。在填充Employee表的同时,我还希望引用此表的所有其他表也被填充。例如,员工ID 101的所有个人详细信息应填入员工表中,但员工101的签入和签出记录也应复制到登录表中。任务表还应记录分配给员工101的所有任务。请帮忙 用于导出CSV文件中的有限数据集 比如: SELECT *

我有一个与测试数据库模式完全相同的产品数据库。该模式由100多个表组成,它是一个典型的关系数据库模式,这意味着外键被广泛使用。我需要实现的是将数据子集(例如,员工ID>100的所有员工)从一个数据库复制到另一个数据库。在填充Employee表的同时,我还希望引用此表的所有其他表也被填充。例如,员工ID 101的所有个人详细信息应填入员工表中,但员工101的签入和签出记录也应复制到登录表中。任务表还应记录分配给员工101的所有任务。请帮忙

用于导出CSV文件中的有限数据集

比如:

SELECT *
FROM employees
WHERE ID > 100
INTO OUTFILE '/tmp/employees.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
对其他表执行相同的操作


然后使用将它们导入到您的开发数据库。

在删除级联时将FKs更改为
。导入完整的数据集。如果我只导入100名员工的数据,那么删除所有ID为的内容将成为一个相当大的练习。首先,我必须导入所有员工的数据,以GBs为单位。那么,您要导出多少行?这取决于问题的性质。通常几百行就足够了。现在,我可以通过限制员工ID来填充一个表,但我无法获得与这些员工相关的数据选择标准可以简单到获得ID 100到200之间的所有员工,但也可以是一个复杂的标准,例如所有加班的员工,或者所有以X先生为主管的员工。这将只为我获取一张表的记录。我想知道是否有任何方法可以一次性填充所有三个表。@Abdul写三个查询有什么问题。如果是20个表的话,我会理解的。导入前使用SET FOREIGN\u KEY\u CHECKS=0;因此,您不必担心数据的加载顺序。完成使用SET FOREIGN_KEY_CHECKS=1重新启用后;