Как установить более одного первичного ключа для таблицы? - PullRequest
1 голос
/ 29 сентября 2010

Возможно ли задать более одного первичного ключа для таблицы?

Если это возможно в качестве составного ключа - так как его можно использовать с приложением ??

ADVANTAGES.?

Ответы [ 3 ]

4 голосов
/ 29 сентября 2010

Нет, это невозможно.

Тем не менее:

В первичном ключе может быть несколько полей.

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

0 голосов
/ 29 сентября 2010

Нет, вы не можете иметь более одного первичного ключа в таблице.Да, первичный ключ может состоять из нескольких полей, но, учитывая ваш вопрос, я не думаю, что это то, что вам нужно.Я не уверен, что именно вам нужно, но первичный ключ имеет несколько возможностей, которые вы, вероятно, ищете в другом поле:

Unicity: Если вы нуждаетесьдругого поля с уникальным значением во всех записях, вы можете применить УНИКАЛЬНОЕ ограничение:

ALTER TABLE <table identifier> 
  ADD [ CONSTRAINT <constraint identifier> ] 
  UNIQUE ( <column expression> {, <column expression>}... )

Скорость: Если у вас есть поле, которое ищется очень часто, и вам нужночтобы ускорить ваш запрос, вы можете добавить индекс в это поле.

CREATE INDEX <index identifier>
   ON <table identifier> (<field name>)
0 голосов
/ 29 сентября 2010

Вы не можете. В таблице может быть только один первичный ключ (поэтому он называется первичным ...). Единственное, что вы можете сделать, это указать PRIMARY KEY для нескольких столбцов (но это зависит от структуры базы данных:

CREATE TABLE Persons
(
  P_Id int NOT NULL,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255),
  CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...