Опция --where
для mysqldump может использоваться для передачи выражения в SELECT для каждой таблицы, но она передает то же самое выражение в все таблицы.
Если вам нужно использовать разные предложения WHERE для разных подмножеств таблиц, вам нужно будет выполнить более одной команды mysqldump и выполнить каждую команду для разных наборов таблиц
Ваш комментарий:
Нет, ссылки на столбцы в запросе SQL должны быть исправлены во время синтаксического анализа запроса, и это означает, что любые ссылки на столбцы должны ссылаться на столбцы, которые существуют в таблице. В SQL нет способа создать выражение, которое использует столбцы, если они существуют, и игнорирует ссылку на столбец, если столбец не существует.
Чтобы сделать то, что вы описываете, вам нужно запросить INFORMATION_SCHEMA, чтобы увидеть, какие столбцы существуют в таблице, а затем условно отформатировать SQL-запрос для дампа, основываясь на найденных столбцах в таблице.
Но в mysqldump у вас нет возможности сделать это. Это должно быть реализовано в коде для mysqldump.
Не стесняйтесь получить исходный код для mysqldump и добавить свою собственную логику к нему. Похоже, много работы.