У меня есть две таблицы, как показано ниже
Table_1
id first_name last_name email
1 Artemas Jack asaggs0@si.edu
2 Caro John cstot1@businessinsider.com
3 Maire Disha mtilte2@answers.com
4 Cristiano Herreros cherreros3@xing.com
5 Mirabelle Muschette mmuschette4@discuz.net
Table_2
id first_name last_name email
1 Artemas Jack123 asaggs0@si.edu
2 Caro John cstot1@businessinsider.com
4 Cristiano Herreros cherreros3@xing.com
6 Arjun Master Arjunmas@gmail.com
Мало Очки
Table_2
- это недавняя таблица (с обновленными данными)
Что я хотел бы сделать, это обновить Таблицу_1 на основе Таблицы_2, но
- не беспокоить дублирующиеся строки. Поскольку нет никаких изменений (например: Id = 2,4 в table_1 также присутствуют в table_2)
- Обновить измененные строки (например: Id = 1 в table_1 имеет обновленную фамилию в table_2. Может быть любым из столбцов. Мы должны взглянуть на столбец Id и обновить его при необходимости)
- Не удалять строки из таблицы_1, которых нет в таблице_2 (например: Id = 3,5 в таблице_1 )
Я пытался что-то подобное ниже, но это не помогает
INSERT INTO table_1 VALUES (SELECT * FROM table_2) ON CONFLICT DO NOTHING;
Но не уверен, как мне сохранить записи, такие как id = 3 & id = 5 как есть
Я ожидаю, что мой вывод будет таким, как показано ниже
Выход
id first_name last_name email
1 Artemas Jack123 asaggs0@si.edu
2 Caro John cstot1@businessinsider.com
3 Maire Disha mtilte2@answers.com
4 Cristiano Herreros cherreros3@xing.com
5 Mirabelle Muschette mmuschette4@discuz.net
6 Arjun Master Arjunmas@gmail.com