2013-12-17 7 views
1

У меня есть эта таблица «Автомобили», атрибуты:Как установить первичный ключ с помощью SQL

MODEL nvarchar(20) 
STYLE nvarchar(20) 
ENGINE nvarchar(5) 
CAPACITY smallint 
MAX_SPEED smallint 
PRICE smallmoney 
MARKET nvarchar(20) 
COMPETITOR nvarchar(20) 

Я хотел бы установить «ЦЕНА» в качестве первичного ключа через SQL sStatement, поэтому я попытался :

ALTER TABLE Cars 
ADD PRIMARY KEY (PRICE) 

Но я просто получаю ошибку

альтер TABLE SQL конструкт или оператор не поддерживается.

в Visual Studio 2010.

+4

'Цена' кажется паршивым выбором для первичного ключа. Например, дубликаты не допускаются. –

+0

Не только это, цены могут измениться. –

+0

Согласитесь с плохим выбором .... Читайте о Первичном ключе сначала ... http://technet.microsoft.com/ru-ru/library/ms191236(v=SQL.105).aspx –

ответ

1

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

+1

Ваше заявление правильно написано, но не рекомендуется применять «слепые» ответы только ради точки... – user3104183

0

Visual Studio не является клиентом базы данных. Если вы хотите вообще запустить какой-либо запрос, вы должны использовать клиента, который позволяет это сделать. Детали зависят от используемого вами механизма базы данных.

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

Что-то еще, что зависит от механизма базы данных, является синтаксисом самой команды. Некоторые позволят то, что вы пробовали. В противном случае вы будете использовать ключевое слово constraint.

Наконец, как упоминалось в комментариях, цена является плохим выбором для первичного ключа. Лучшим выбором будет uuid, автоинкрементное целое число или VIN.

Смежные вопросы