![]() |
|
Модераторы: skyboy |
![]()
|
|
| Xelius |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.8.2005 Где: Казань Репутация: нет Всего: нет |
Прошу прощения за пионерский вопрос, но задача вот в чём : нужно сделать таблицу, где роль PRIMARY KEY выполнял бы не один столбец, а сочетание. Например ДАТА-ЦЕНА-КОД. Чтобы было так, что если отличается хотябы одна из этих колонок, то остальные могли совпадать, например ДАТА=05/02 ЦЕНА=20 КОД=BCD3, т.е. ДАТА=06/02 ЦЕНА=20 КОД=BCD3 принимается, но такая же строка - нет. Изменяться могут все колонки. Не хотелось бы создавать автоинкремент ID и надеятся, что строки не совпадут. Пытался порыться в поиске, но ничего подходящего не нашёл, кроме создания индексов по этим столбцам. В доках по MySQL тож как-то всё невразумительно написано. Заранее спасибо.
|
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Xelius, к сожалению, на стабильных версиях MySQL контроль за уникальность сочетаний невозможен, только средствами клиента. С пятой версии возможны хранимые процедуры, но пока эта версия популярностью не пользуется ибо доступен только "Development release".
-------------------- Теперь при чем :P |
|||
|
||||
| Xelius |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.8.2005 Где: Казань Репутация: нет Всего: нет |
Ignat, спасибо за ответ. Жаль, что нельзя. Тогда хочу узнать мнение по такому варианту решения проблемы - сделать ещё одно текстовове поле, в котором будет формироваться нужное сочетание и сделать это пое PRIMARY KEY. Как я понял сделать это на стороне MySQL сервера не получится. Значит придётся вызывающим скриптом. Мне просто нужно, чтобы одинаковые строки не попали.
|
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Достаточно распространенное решение данного вопроса. Думаю, это будет оптимальный выход. -------------------- Теперь при чем :P |
|||
|
||||
| Xelius |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.8.2005 Где: Казань Репутация: нет Всего: нет |
Огромное спасибо. Теперь буду знать, куда обращаться.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |