як зробити складений ключ із студії управління SQL Server?


163

як зробити складений ключ із студії управління SQL Server?

Я хочу, щоб два стовпчики INT сформували ідентичність (унікальну) для таблиці

Відповіді:


356

введіть тут опис зображення

  1. Відкрийте вкладку таблиці дизайну
  2. Виділіть два поля INT (Ctrl / Shift + натисніть на сірі блоки в першому стовпці)
  3. Клацніть правою кнопкою миші -> Встановити первинний ключ

4
Щоб виділити кілька полів, натисніть блоки перед стовпцями "Назва стовпця" та "Тип даних" тощо. Ctrl / Shift + Клацання полів імені стовпця насправді нічого не призведе.
Пімгд

3
Отже, якщо одна - рядок, а інша - int, це неможливо? Здається, це не буде ...
Б. Клей Шеннон

3
Я б схвалив це, але тоді зрозумів, що ОП спеціально запитувала, як це зробити в SSMS. Ви завжди повинні змінювати бази даних скриптів + ​​якщо ви використовуєте такі інструменти, ви ніколи не навчитеся робити зміни для себе
JonnyRaa

2
@JonnyLeeds це дуже високий кінь на твоєму. Що не так з графічним інтерфейсом, якщо люди віддають перевагу?
leinad13

4
@ leinad13 У мене, мабуть, був поганий день! Але основна проблема полягає в тому, що вони не повторюються, і це, як правило, означає, що люди здійснюють неконтрольовані спеціальні зміни та налаштування, щоб виправити проблеми з базою даних / схемами. Це дуже поганий знак - вони недокументовані (наприклад, код, який потрібно виправити, записати і перевірити на контроль версій та / або мати інструмент, який автоматично застосовує правильні зміни до будь-якої версії бази даних) і якщо у вас є більше однієї інсталяція, то у вас виникають серйозні проблеми, як тільки у баз даних не буде тієї самої схеми
JonnyRaa

63

ось код для цього:

-- Sample Table
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO

-- Add Constraint
ALTER TABLE myTable
    ADD CONSTRAINT pk_myConstraint PRIMARY KEY (Column1,Column2)
GO

Я додав обмеження як окремий вислів, оскільки я припускаю, що ваша таблиця вже створена.


Я думаю, що ця відповідь підходить, оскільки ви можете запустити це у вікні Запиту SSMS ...;)
dance2die

2
Сценарій FTW та для явного іменування! Зовнішнє ADD PRIMARY KEYта внутрішнє PRIMARY KEYвизначення дадуть випадкові імена ключів, що може надати байінго фігуру, куди належить, якщо у вас немає діаграми db + таблиць.
Девін

35
create table my_table (
    id_part1 int not null,
    id_part2 int not null,
    primary key (id_part1, id_part2)
)

14

У режимі дизайну (правою клавішею миші виберіть змінити) виділіть обидва стовпчики правою кнопкою миші та виберіть встановити первинний ключ


7

Відкрийте конструктор таблиць у SQL Server Management Studio (натисніть таблицю правою кнопкою миші та виберіть "Дизайн")

Утримуючи клавішу Ctrl, виділіть два або більше стовпців у полі лівої сторони

Натисніть на клавішу "Ключ" на стандартній панелі меню вгорі

Ви закінчили ..

:-)


5

Виділіть обидва ряди у вікні дизайну таблиці та натисніть на значок клавіші, вони тепер стануть складовим первинним ключем.

Я не впевнений у вашому запитанні, але лише один стовпець у таблиці може бути стовпцем Ідентичність, а не обидва.


4
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO


ALTER TABLE myTable
    ADD  PRIMARY KEY (Column1,Column2)
GO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.