Ваш код имеет правильный синтаксис. Это создаст ограничения PRIMARY KEY
и UNIQUE
, охватывающие один и тот же столбец.
Существуют законные причины для таблицы, имеющей более одного ключа, но не для одного и того же набора столбцов. Таблица может иметь только один ключ, помеченный как «основной». Каждая таблица требует как минимум один ключ, но нет необходимости помечать ключ как «основной», даже если таблица имеет только один ключ.
В SQL Server пометка как «первичная» имеет значение (например, NOT NULL
, ключ по умолчанию при создании ссылки на внешний ключ и т. Д.), Но я предпочитаю быть откровенным о таких вещах. Предположительно, вы хотите, чтобы у вашего стола был единственный ключ, поэтому я советую вам пропустить PRIMARY KEY
. Кроме того, я рекомендую дать вашему ключу UNIQUE
явное имя, например,
CREATE TABLE Location
(
Id INTEGER NOT NULL
CONSTRAINT Location__key UNIQUE,
Name TEXT NOT NULL
);