2015-04-01 2 views
0

У меня есть база данных, которую я создаю, и я сделал соединение 1 к 1 с другой таблицей в Mysql, ниже показан снимок экрана. Мой вопрос: могу ли я удалить дополнительный столбец (assembly factory_id), который был создан, когда я установил соединение? Я только хочу, чтобы сингл (factory_id) испортил соединение, которое я сделал? Должен ли я удалить (factory_id) и оставить соединение? Я ноб, спасибо!дополнительная колонка в MySQL, могу ли я ее оставить?

enter image description here

ответ

1

Я предполагаю, что ваш комментарий «но должен ли я отказаться от стола?» действительно хотел сказать «но я должен удалить столбец?».

Короткий ответ: если это безопасно, вы должны удалить столбец - нет причин препятствовать его заполнению базы данных и умов будущих разработчиков.

Длинный ответ: как определить, безопасно ли это: если 1) значение в factory_id IS и ВСЕГДА БУДЕТ идентичны сборке factory_id, например, они являются дублирующими значениями друг друга и 2) нет других таблиц или программ код ссылается на сборку factory_id, вы можете безопасно удалить сборку factory_id.

Однако, если есть вероятность, что они когда-либо имели в виду разные вещи (а не только образец из примерно 20 строк), вы не можете удалить его. См. Скрипту: http://sqlfiddle.com/#!9/0bf17/1

Если они всегда одинаковые, но части базы данных или код относятся к сборке factory_id, вы можете реорганизовать эту базу данных или части кода, чтобы ссылаться на factory_id вместо этого, а затем удалить сборку factory_id.

Выполняя что-то подобное, вы должны сделать тесты, чтобы проверить, что состояние запросов и программ после изменения совпадает с состоянием перед изменением.

+0

Большое вам спасибо! вот ответ, который мне нужен! и yep, я имел в виду колонку, а не таблицу :) – beau8008

1

Вы можете оставить дополнительный столбец, используя оператор Alter.

ALTER TABLE table_name DROP COLUMN factory_id; 

Вы также можете обратиться к http://docs.oracle.com/cd/E18283_01/server.112/e17118/statements_3001.htm#i2103683 (Отбросьте положение столбца в частности)

Edit: Что касается связи, то, оператор Alter отвалов на временную таблицу, а затем перестраивает без потери подключение. Пожалуйста, обратитесь к разделу Вопросы хранения, производительности и параллелизма в этом document

+0

но я должен отказаться от стола? вот мой вопрос. :) – beau8008

+0

Поскольку я сделал соединение 1 к 1, он добавил дополнительный столбец, если я избавлюсь от «factory_id», что изменит что-нибудь? – beau8008