#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. Усечение было бы быстрее, чем удаление.