mysqldump在表上具有条件的数据库
我的MySQL数据库有包含列mysqldump在表上具有条件的数据库,mysql,Mysql,我的MySQL数据库有包含列company\u id的表,而其他表没有,我想将所有数据转储到一个SQL文件中 但是我需要添加一个,其中company_id=1仅用于包含此列的表,其余的我需要获取所有数据 这对我不起作用,因为我必须指定表名,我需要的是在每个具有该列的表上转储所有带有条件的内容: mysqldump-u root-p root databaseName tableName--where company_id=1>mydb_tables.sql您是否尝试过使用mysqldump的组合
company\u id
的表,而其他表没有,我想将所有数据转储到一个SQL文件中
但是我需要添加一个,其中company_id=1
仅用于包含此列的表,其余的我需要获取所有数据
这对我不起作用,因为我必须指定表名,我需要的是在每个具有该列的表上转储所有带有条件的内容:
mysqldump-u root-p root databaseName tableName--where company_id=1>mydb_tables.sql
您是否尝试过使用mysqldump的组合--tables选项?
但是,每次有更多/更少的表使用该列名时,都必须修改mysqldump命令
编辑:
您也可以尝试在数据库名称之后指定表名,--此时实际上不需要表
通常,mysqldump处理命令行上的first name参数
作为数据库名,以下名称作为表名
编辑2:
我刚刚测试了这个方法,将多个表及其行转储到“id=1”的位置,因此,如果您只是使用列company\u id指定所有表,那么它一定会起作用。
您将需要一个命令来转储包含该列的所有表,一个命令用于所有其他表(可能使用--ignore table在这里很方便) 因此,我需要两个
mysqldump
命令,第一个命令将对我指定的表执行where company_id=1
,并且知道它们有列,第二个命令将在其余的表上,我将得到两个转储文件?