1

Тема: Замена содержимого одного поля у всех позиций

Подскажите пожалуйста, как по id можно заменить содержание только одного поля всех позиций в таблице

2

Re: Замена содержимого одного поля у всех позиций

nikolaj
То что ты имеешь ввиду выполняется запросом UPDATE. Например, так:
UPDATE table_name SET column1='value1', column2='value2', column4='value4' WHERE id='77';

Этот запрос изменит данные в 1, 2 и 4-ом столбцах записи, id которой 77. Содержимое 3-го столбца останется неизменным.

По-умолчанию, phpMyAdmin при создании дампа оперирует всеми столбцами таблицы. Поэтому предварительно нужно написать запрос, который будет выводить все столбцы кроме тех, которые нам нужно будет оставить нетронутыми. В нашем примере это может выглядеть так:
SELECT `column1`,`column2`,`column3` FROM `table_name`;

В результате этот запрос выведет данные трех нужных нам столбцов для всех записей таблицы `table_name`

После выбираем все записи, кликнув по ссылке 'Отметить все'. Важный момент необходимо, чтобы все записи выводились на одной странице, иначе в наш дамп попадут только те записи, которые окажутся на текущей странице. Сделать это можно с помощью блока "Показать -- рядов от --".

Итак после того как отмечены все записи, кликаем по пиктограмме (ссылке) "Экспорт". Там уже выбираем тип  экспорта UPDATE. Создаем дамп.

В результате имеем дамп, который при импортировании обновит 3 столбца таблицы-реципиента и не затронет остальные столбцы.

Тем не менее перед тем как заниматься данными манипуляциями - создай бэкап базы-реципиента (которую ты будешь обновлять)

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

3

Re: Замена содержимого одного поля у всех позиций

Спасибо за ответ

4

Re: Замена содержимого одного поля у всех позиций

Сразу не было возможности проверить. Сейчас попробовал - не получилось. Создаю дамп, как вы написали. Потом импортирую, но новая информация не появляется. Может я какие галочки или ещё чего-нибудь не ставлю при экспорте?