MySQL - синхронизация данных в таблицах

184
16 декабря 2019, 04:10

Есть 2 таблицы БД MySQL - Result и Source.

Result
+------+------+-----+
|  id  | text | num |
+------+------+-----+
| 1234 | aaaa |  0  |
+------+------+-----+
| 2345 | bbbb |  2  |
+------+------+-----+
| 3456 | cccc |  1  |
+------+------+-----+
Source
+------+------+
|  id  | text |
+------+------+
| 3456 | cccc |    
+------+------+
| 1234 | eeee |
+------+------+
| 4567 | dddd |
+------+------+

Можно-ли запросом MySQL синхронизировать по id записи из Source в Result таким образом, чтоб в Result были все те же записи из Source, только:

в таблице Result:
1. Записи у которых id совпали - сохранили свое значение num
2. Записи у которых id совпали, а text нет - обновили свое значение text из Source, 
   а значение num записать 0.
3. Удалить записи из Result, id которых нет в Source
4. Добавить записи из Source, id которых нет в Result. 
   num = 0 поставится автоматически.

Результат выполнения:

Result
+------+------+-----+
|  id  | text | num |
+------+------+-----+
| 3456 | cccc |  1  |
+------+------+-----+
| 1234 | eeee |  0  |
+------+------+-----+
| 4567 | dddd |  0  |
+------+------+-----+
READ ALSO
Как реализовать такую выборку SQL?

Как реализовать такую выборку SQL?

Есть запрос такого вида:

218
Столбец лайков в выборке

Столбец лайков в выборке

Есть три таблицы:

193
Кодировка с MySQL

Кодировка с MySQL

Проблема из разряда "Парился 5 часов и не нашел решение"

225