Я обновляю старую базу данных MySQL и обнаруживаю, что несколько столбцов в разных таблицах не нужны. Но вместо того, чтобы просто удалять столбцы, я бы временно отключил их, чтобы проверить код и посмотреть, как много вещей сломается, прежде чем я решит завершить удаление столбца. Как я могу сообщить серверу об ошибке, если к конкретному столбцу обращаются?Как отключить столбец в таблице MySQL?
ответ
Вы можете переименовать имя таблицы в новое имя и создать представление с использованием старого имени. этот вид выглядит как столбец удаленной таблицы. если есть какая-то проблема. вы просто меняете таблицу имен и вид.
Возможно, вы захотите рассмотреть возможность использования этого вида. В качестве примера я создал эту скрипку: http://sqlfiddle.com/#!2/a8947/2
Посмотрите на два вопроса. Один выбирает таблицу с столбцом, который вы не уверены в необходимости (который я назвал «legacyData»). Другой выбирает вид. Вы можете видеть, что в представлении столбца «legacyData» больше не существует.
Я не думаю, что это будет работать, если вы пишете из таблицы, но если вы читаете из таблицы, представление является жизнеспособным вариантом.
шаги вы бы хотели принять в производство, чтобы испытать это было бы:
- переименовывать таблицу («MyTable» до «myTableDontUse», например)
- Создать представление на основе недавно переименованный стол
- Когда вы называете вид, имя его оригинальное название таблицы (MYTABLE в данном примере)
делая это, вы заменили свой столик с видом. Этот подход позволит вам узнать, обращаются ли приложения к полю legacyData этой таблицы. Если нет, вы можете удалить представление, переименовать свою таблицу и опустить соответствующий столбец.
Производительность обычно невелика, особенно если у вас много данных, поэтому будьте осторожны. В подобной ситуации я начал с точки зрения, но из-за причин производительности (таблица имела 2M + строки), мы изменились на обычную таблицу, которая вместо этого была заполнена через триггеры.
- 1. MySql Объединить столбец в таблице
- 2. Как зашифровать существующий столбец в таблице mysql?
- 3. Как создать булевский столбец в таблице mysql?
- 4. Как автоматически увеличивать столбец в таблице MySQL?
- 5. Как зашифровать определенный столбец в таблице MySQL?
- 6. Как отключить (не удалять) столбец в таблице сотовых телефонов gwt
- 7. Столбец без обновления в таблице mysql
- 8. Ошибки найти столбец в таблице MySQL
- 9. mysql, обновляющий один столбец в другой столбец в другой таблице
- 10. mysql: выбрать отдельный столбец в таблице?
- 11. Добавить новый столбец в большой таблице mysql
- 12. Создать столбец Hash в таблице mysql
- 13. Как обновить столбец в таблице в MySQL с помощью EclipseLink?
- 14. Столбец Hibernate в таблице, чтобы указать, как отключить атрибут в другом столбце в той же таблице
- 15. Как выбрать столбец в таблице
- 16. Как скрыть столбец от пользователя в таблице MySQL
- 17. Как обновить столбец MYSQL, если значение существует в другой таблице?
- 18. Как я могу найти столбец радиокнопки в таблице Mysql
- 19. Как добавить столбец со значениями count в таблице mysql?
- 20. Как сбросить номер автоинкремента/столбец в таблице MySql
- 21. Как обновить столбец в таблице mysql с помощью sqlachemy?
- 22. Как суммировать каждый столбец в таблице MySQL с помощью PHP
- 23. Как скопировать и изменить столбец mysql в той же таблице
- 24. MySQL Присоединяйтесь столбец SUM по всей таблице
- 25. Отключить столбец
- 26. Как проверить, существует ли столбец в таблице?
- 27. Проверить столбец в таблице
- 28. Как отключить таблицу MAX_ROWS в таблице MyISAM?
- 29. Обновить столбец в таблице
- 30. Обновить столбец в таблице
Вы можете просто переименовать их –
^^ Точно. Если код ссылается на них по имени, он будет терпеть неудачу. Однако, если код использует 'SELECT *' и ожидает, что они будут там, вы не можете защититься от этого. Он удастся позже, когда вы удалите столбцы. (одна причина, чтобы избежать «SELECT *») –
Должен признаться, я никогда не рассматривал подводные камни SELECT *. Спасибо что подметил это. И идея переименования хорошая, что-то вроде columnname1. Но есть ли способ «прокомментировать» столбец, похожий на то, что я сделал бы с комментарием функции в коде? – myk