mysql дамп из определенных таблиц, которые связаны друг с другом

У меня есть 2 таблицы в моей базе данных MySQL.

Мне нужно вывести обе таблицы в файлы дампа SQL. (СОЗДАТЬ Сценарии)

Тем не менее, я могу только сбросить определенные строки. (например, где столбец = значение).

Это хорошо для первого стола.

Тем не менее, вторая таблица может сбрасывать только те строки, где, например, столбец = значение, которое существует в первом наборе результатов.

Я хотел использовать mysqldump, однако я не думаю, что он будет работать для этого типа запроса, если я не сделаю какое-то соединение или объединение?

Я также могу использовать PHP и создавать файл, проходя по строкам, но я не думаю, что это самый эффективный способ.

Любой совет или помощь будут оценены!

1

Решение

Спасибо @MarcB для ответа на вопрос это сработало на 100%. Я публикую это, чтобы следовать правилам ответа при переполнении стека, а также чтобы показать, что я в итоге использовал.

Итак, вот две команды mysqldump, которые я запускаю внутри скрипта bash: (я заменил некоторые личные данные на ‘x’)

#!/bin/bash

#dump the first table
mysqldump -h xxx.xxx.xxx.xxx -u xxxxx -pxxxxx --where="name='value'" databasename table1 > /home/xxxxx/xxxxx/table1.sql

#dump the second table that relates to the first one
mysqldump -h xxx.xxx.xxx.xxx -u xxxxx -pxxxxx --lock-all-tables --where="field_id in (select anotherfield_id from table1 where name='value')" databasename table2 > /home/xxxxx/xxxxx/table2.sql
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]