| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > 1 PRIMARY KEY на 2 таблицы |
| Автор: w4Lkm4n 14.3.2011, 17:47 |
| Доброго времени суток. Есть 1 таблица (с заказами), сейчас возникла необходимость сделать ещё 1 таблицу с заказами но, совсем другого типа. При этом должен быть уникальный ID на 2 таблицы. Т.е. если я добавил заказ в 1ю таблицу (пусть он получил ID - 3), то при добавлении заказа во 2ю таблицу ID в ней уже должен быть 4. Возможно такое реализовать? Можно конечно ввести отдельное поле, или создать ещё одну таблицу для хранения ключей... Но 1е приложение уже написано и его нужно "расширить". Очень не хочу всё переписывать в нём... |
| Автор: Akina 14.3.2011, 18:34 |
| Переименуйте таблицу1. Добавьте в неё поля, которые позволят хранить в ней и заказы второго типа (при этом часть полей по заказу первого либо второго типа - смотря какой заказ в конкретной записи,- будет содержать NULL). Создайте на её основе вьюв с именем, которое было у таблицы1, и с отбором по IS NULL какого-нить характерного поля аказа второго типа. Соответственно он будет выбирать все заказы типа 1. Аналогично создайте вьюв для выбора заказов типа 2. Такие вьювы будут обновляемыми, соответственно в готовом приложении ничего менять не придётся. В то же время все заказы будут записываться в одну таблицу с использованием единого ID. |
| Автор: w4Lkm4n 14.3.2011, 18:48 |
| Спасибо, наверное так и поступлю, просто полей получится очень много да и записей не мало |
| Автор: Akina 14.3.2011, 20:10 |
Разделите таблицу на несколько. Кстати, это поднимет производительность, если правильно разделить. |