Если у меня есть родительская и дочерняя таблица в MySQL, связанная с внешним ключом, возможно ли с помощью оператора SQL перемещать определенные строки из родителя и связанных строк из Child в архивные таблицы (например Parent_Archive и Child_Archive) атомным путем?Архив иерархии родительских/дочерних таблиц в MySQL
2
A
ответ
1
Использование транзакций - их цель состоит в том, чтобы сделать серию операторов SQL атомарными.
Например (не очень оптимизирован - может быть улучшена с темп таблицы):
START TRANSACTION;
INSERT Child_Archive
SELECT DISTINCT
Child.* FROM Child, Parent
WHERE Child.FK = Parent.PK
AND Parent.something=11;
DELETE Child WHERE FK IN (
SELECT DISTINCT PK FROM Parent WHERE Parent.something=11);
INSERT Parent_Archive
SELECT DISTINCT * FROM Parent WHERE Parent.something=11;
DELETE Parent WHERE Parent.something=11;
COMMIT;
Смежные вопросы
- 1. Несколько таблиц в иерархии вложенных множеств
- 2. Архив новостей PHP/MySQL
- 3. Фильтр иерархии таблиц для Scatterplot
- 4. MySQL по Иерархии
- 5. построение иерархии из 3 таблиц
- 6. Получение иерархии данных из автореферентными таблиц
- 7. категория иерархии с MySQL
- 8. Таблицы «Архив» в SQL Server
- 9. Фильтрация NHibernate иерархии таблиц, используя ссылку
- 10. MySQL удаляет все «дочерние» элементы в иерархии
- 11. узнать список перевернутой иерархии в MySQL
- 12. Использование таблиц в mysql
- 13. Оптимизация таблиц в mysql
- 14. Конструктор таблиц в MySQL
- 15. Типы таблиц в Mysql?
- 16. Миллионы таблиц в MySQL?
- 17. Объединение таблиц в MySql
- 18. объединение таблиц в MySQL
- 19. Стиль таблиц имен таблиц MySQL
- 20. PHP/MYSQL Год Месяц таблица архив новостей
- 21. MySQL PHP: Blog Post Архив выпадающего меню
- 22. создать ежемесячный архив с PHP и MySQL
- 23. Что может привести к неправильной визуализации иерархии таблиц в IE9?
- 24. Создание иерархии в Mondrian/Saiku с именами из разных таблиц
- 25. Просмотр иерархии таблиц SQL Server в мс-доступе
- 26. Oracle SQL для поиска иерархии таблиц в схеме
- 27. Eclipse, Вызов иерархии показывает неправильно иерархии иерархии
- 28. MYSQL запрос организовать список категорий иерархии
- 29. создания реляционных таблиц в MySQL
- 30. Усечения пустых таблиц в MySQL
Предполагая Parent_Archive и Child_Archive имеют те же ограничения, FK в качестве родителя и ребенка, первая вставка не будет не потому, что родительский ISN Еще нет? –
@ Эрик Дж. - Будет. Я не уверен, почему таблица архивов имеет такое ограничение вообще, хотя (я бы не поставил ее). Если это дизайн, решение - это тот, который я упомянул выше, как «более эффективный» - вы начинаете сначала создавать временную таблицу PKs/FK, а затем повторно заказывать запросы выше в том порядке, в котором вы указали (вставить в P_A, вставить в C_A, удалить C, удалить P) – DVK