Тема: Дамп вибраних колонок з таблички.
Виникла потреба проупдейтити одне/кілька полів в табличці, використовуючи дані з іншої бази даних. Оскільки mysqldump не дає такої можливості, то писав в ручну.
Отже спершу селект:
SELECT CONCAT( 'UPDATE `products` SET products_image=''', products_image, ''' WHERE products_id=''', products_id, ''';' ) AS line
FROM `products`
Далі пишемо результати в файл пропускаючи перший рядок
mysql <./select.sql | sed "1 d" > products.sql
Далі ту sql можна запускати на іншій базі даних.
Далі трохи переписав скрипти, щоб можна було використовувати для інших таблиць і рядків
cat dumpcolumn
echo "SELECT CONCAT( 'UPDATE $1 SET $3=''', $3, ''' WHERE $2=''', $2, ''';' ) AS line FROM $1 LIMIT 5;"
cat update_os_pictures
echo "Creating SQL"
./dumpcolumn products products_id products_image | mysql | sed "1 d" > products.sql
Звичайно після mysql треба прописати свої параметри конекту.