Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: 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 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
3-1157838144
lookin
2006-09-10 01:42
2006.11.12
Значение поля - только определенные величины


2-1162186962
Sergey_b
2006-10-30 08:42
2006.11.12
MDI


2-1161708285
Velimir
2006-10-24 20:44
2006.11.12
Как анализировать одно и тоже событие в разных местах


3-1157979564
kaif
2006-09-11 16:59
2006.11.12
Как ограничить запрашиваемый SQL-набор в ADO


15-1161348441
Dmytro
2006-10-20 16:47
2006.11.12
mssql и php