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

#mysql

#mysql

Вопрос:

У меня есть две таблицы, скажем, table_1 и table_2, у них одинаковые столбцы, например. они оба имеют col1, col2, …, col100.

Теперь я хочу заменить все содержимое в table_1 на table_2. Обратите внимание, что мы хотим сохранить table_1, поскольку он запрашивается внешним пользователем.

какая наилучшая практика: заменить, удалить, обновить или добавить? и как это реализовать с помощью MySQL?

Комментарии:

1. Удалить таблицу1 переименовать таблицу2? На самом деле лучшей практики не существует, вам и вашему бизнесу решать, какой подход подходит именно вам. И протестируйте его перед внедрением в производство.

2. Что бы вы ни решили, убедитесь, что вы не расстроили FKS

Ответ №1:

Вы можете использовать INSERT INTO SELECT

Шаг: 1 TRUNCATE TABLE table_name

Шаг: 2

 INSERT INTO table_name(column names)
SELECT 
   column names 
FROM 
   another_table
WHERE
   condition;
 

Комментарии:

1. Усечение было бы быстрее, чем удаление.