У меня есть 2 таблицы в моей базе данных MySQL.
Мне нужно вывести обе таблицы в файлы дампа SQL. (СОЗДАТЬ Сценарии)
Тем не менее, я могу только сбросить определенные строки. (например, где столбец = значение).
Это хорошо для первого стола.
Тем не менее, вторая таблица может сбрасывать только те строки, где, например, столбец = значение, которое существует в первом наборе результатов.
Я хотел использовать mysqldump, однако я не думаю, что он будет работать для этого типа запроса, если я не сделаю какое-то соединение или объединение?
Я также могу использовать PHP и создавать файл, проходя по строкам, но я не думаю, что это самый эффективный способ.
Любой совет или помощь будут оценены!
Спасибо @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
Других решений пока нет …