Создание запроса в базу на SQL, без PHP

186
17 февраля 2018, 20:32

Доброго времени суток. Подскажите пожалуйста, возможно ли реализовать данный код только на 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'].');
}
Answer 1

Используйте конструкцию 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 должно быть первичным или уникальным ключем

READ ALSO
mysql не пускает через phpadmin, но в сам mysql дает

mysql не пускает через phpadmin, но в сам mysql дает

суть проблемы - стоит связка mysql/apache/php работало до вчерашнего дня лет 10при заходе на phpadmin под рутом не пускает без указания ошибки

175
Binding для элемента Picker в Xamarin.Forms

Binding для элемента Picker в Xamarin.Forms

Добрый деньПодскажите где поколдовать что бы заработал binding для контрола Picker? Вот XAML:

189
Передача данных из C# приложения методом POST

Передача данных из C# приложения методом POST

Задача сериализовать класс в json и передать его POST'ом на серверЯ написал код и он работает но у меня ощущение что я наделал много лишнего

154