Вниз
Скачать: CL | DM;

Первичный ключ по двум полям   Найти похожие ветки 

 
Neo Trinitron ©   (2006-09-14 13:57) [0]

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


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

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


 
ANB ©   (2006-09-14 14:26) [2]


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

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


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

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


 
Desdechado ©   (2006-09-14 15:28) [4]

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

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


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

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


 
Neo Trinitron ©   (2006-09-14 16:44) [6]

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


 
Sergey13 ©   (2006-09-14 16:51) [7]

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

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

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


 
Neo Trinitron ©   (2006-09-14 17:03) [8]

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

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


 
Desdechado ©   (2006-09-14 17:14) [9]

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


 
Neo Trinitron ©   (2006-09-14 17:45) [10]

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


 
ANB ©   (2006-09-14 18:28) [11]


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

create unique index on Table1(F1, F2)


 
Desdechado ©   (2006-09-14 18:39) [12]

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


 
Anatoly Podgoretsky ©   (2006-09-14 19:52) [13]

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


 
Neo Trinitron ©   (2006-09-15 10:36) [14]

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

create unique index Index_name on Table1(F1, F2)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.027 c
10-1125421545
Barvetal
2005-08-30 21:05
2006.11.12
Как сделать локальный СОМ-сервер(ехе-файл) невидимым?


2-1161993452
Free_Breeze
2006-10-28 03:57
2006.11.12
Помогите получить текст из определенного фрейма


2-1162120477
~Aid~
2006-10-29 14:14
2006.11.12
размер


2-1161851146
dest81
2006-10-26 12:25
2006.11.12
access & bde


15-1161513590
SerJaNT
2006-10-22 14:39
2006.11.12
ShellListView




   Наверх