Как заменить значения некоторых столбцов при выполнении SQL-дампа - PullRequest
0 голосов
/ 05 апреля 2019

Мне нужно сделать дамп обычного SQL для сохранения базы данных, но в таблице «пользователи» есть столбцы «имя» и «имя», которые должны быть анонимными (путем изменения значений со случайной строкой или иначе).Я хотел бы знать, как я могу вывести свои данные и изменить значения этих столбцов одновременно?

Это для базы данных mySQL

Спасибо!

1 Ответ

0 голосов
/ 05 апреля 2019

Вы не можете сделать это с помощью инструмента mysqldump. У него нет никакой опции для преобразования вывода, он только сбрасывает данные, которые есть в вашей базе данных. Так что, если вы используете mysqldump, ваши варианты:

  • Хранить анонимные данные и выгружать эти данные (как предложено @ DroidX86 в комментарии выше)
  • Получите действительно хороший результат на sed и используйте его для фильтрации вывода mysqldump. Я действительно хорош с Sed, и я бы не стал это пробовать.

Таким образом, вы можете попытаться создать дамп данных без использования mysqldump, чтобы у вас было больше возможностей для пользовательских преобразований данных.

Вы можете написать скрипт для SELECT ... FROM MyTable;, что в основном и делает mysqldump. Но если вы пишете свой собственный инструмент, вы можете использовать выражения, чтобы анонимизировать имя и имя, а не выводить содержимое этих столбцов как есть.

Однако написать собственную замену mysqldump сложнее, чем кажется. Некоторые разработчики попытались сделать это и сделали это совершенно неправильно. Я уже отвечал на вопросы об этом раньше:

...