Доброго времени суток. Подскажите пожалуйста, возможно ли реализовать данный код только на SQL, минуя PHP? В таблице data имеется поле (email_disp), которое требуется перенести в другую таблицу (privacy). Нюанс в том, что в последней уже имеется база пользователей с нужными id. Ответов с INSERT много, но необходимо именно обновить данные, а не создать новые записи.
$query = DB::use()->query("SELECT id, email_disp FROM data");
while($row = $query->fetch_assoc()) {
DB::use()->query('UPDATE privacy SET email_disp = '.$row['email_disp'].' WHERE id = '.$row['id'].');
}
Используйте конструкцию INSERT ... ON DUPLICATE KEY UPDATE. Она добавит новые записи и обновит старые
INSERT INTO privacy (
id,
email_disp
) SELECT
id,
email_disp
FROM
data
ON DUPLICATE KEY UPDATE
email_disp = VALUES(email_disp);
P.S. Конечно же поле privacy.id должно быть первичным или уникальным ключем
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости