Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Первичный ключ по двум полям [D7, MS Access]


Neo Trinitron ©   (2006-09-14 13:57:00) 

Доброго времени всем! Как можно в MSAccess таблице указать первичный ключ по двум и более полям? Может есть другой выход. Мне нужно чтобы значения двух или более полей не могли повторяться.


Neo Trinitron   (2006-09-15 10:36:00) [1]

Спасибо, разобрался.

create unique index Index_name on Table1(F1, F2)


Anatoly Podgoretsky   (2006-09-14 19:52:00) [2]

Да можно искать и по create indexи потом после прочтения основной темы, при необходимости переход на подробности


Desdechado   (2006-09-14 18:39:00) [3]

Neo Trinitron ©   (14.09.06 17:45) [10]
По словам из [4], заменив PRIMARY KEY на UNIQUE


ANB   (2006-09-14 18:28:00) [4]


> Neo Trinitron ©   (14.09.06 17:45) [10]

create unique index on Table1(F1, F2)


Neo Trinitron   (2006-09-14 17:45:00) [5]

Desdechado, позвольте поинтересоваться, по каким словам её искать. Unique - нету. Что ещё можно придумать?


Desdechado   (2006-09-14 17:14:00) [6]

еще стыднее, что справку читать не желаешь


Neo Trinitron   (2006-09-14 17:03:00) [7]

> Ну так и добавь уникальный ключ на дкумент+товар.

Очень стыдно, но я не знаю как это сделать в MS Access...


Sergey13   (2006-09-14 16:51:00) [8]

> [6] Neo Trinitron ©   (14.09.06 16:44)

Ну так и добавь уникальный ключ на дкумент+товар. Но это не значит, что этот ключ обязан быть первичныи (хотя может). Для ПК в товаре достаточно и просто отдельного ИД-шника - ссылаться будет проще.

Кстати, иногда в накладной может быть одинаковый товар, если учет по партиям идет.


Neo Trinitron   (2006-09-14 16:44:00) [9]

Что мне нужно. Есть таблица деталей накладной. Одно поле - идентификатор накладной, другое - идентификатор товара. Как сделать так чтобы в одной накладной не могло быть одного и того же товара более одного раза?


Val (from Kiev)   (2006-09-14 15:38:00) [10]

>Desdechado ©   (14.09.06 15:28) [4]
подмена понятий? для чего нужен пк?


Desdechado   (2006-09-14 15:28:00) [11]

> пара уникальна. на мой взгляд достаточено составного PK
Не подменяй понятий. Сам сказал, что уникально. Вот и сделать нужно уникальное граничение.

автору
Не совсем ясно, что нужно. Первичный ключ тоже может быть составным ALTER TABLE XXX ADD CONSTRAINT PK_XXX PRIMARY KEY( fld1, fld2 )
Но очень не рекомнедую так делать, геморройно потом на него ссылаться. Лучше сделай суррогатный целочисленный.


Val (from Kiev)   (2006-09-14 15:21:00) [12]

>ANB ©   (14.09.06 14:26) [2]
предположим - есть таблица-развязка отношения многие-ко-многим - всего два поля, которые по сути - ссылки, пара уникальна. на мой взгляд достаточено составного PK, т.е. все то же - "каждому овощу - свое время".


ANB   (2006-09-14 14:26:00) [13]


> первичный ключ по двум и более полям

Это сделать можно, но не нужно. Для обеспечения уникальности есть уникальный индекс или уникальный ключ.


Sergey13   (2006-09-14 14:00:00) [14]

1. Первичный ключ и уникальный ключ могут и не совпадать.
2. В чем проблема то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо