Как согласовать первичный ключ, не нулевой, уникальный, автоинкрементный и сгенерированный? - PullRequest
0 голосов
/ 03 декабря 2018

Я новичок в MySql и использую Workbench.

Я запутался в флажках PK, NN, UQ, AI и G.

Разве первичный ключ не означает, что он не должен быть нулевым и уникальным?Так зачем разрешать первичный ключ, который не обязательно должен быть уникальным?

Не означает ли автоинкремент, что он должен быть сгенерирован?Флажки в верхней половине окна обрабатывают AI и G как переключатели, при этом один флажок снимается с другого.Однако флажки «Автоинкремент» и «Сгенерированный» в нижней половине окна ведут себя по-разному, где функция «Автоинкремент» всегда отключена.Означают ли аббревиатуры то, что я думаю?

Какие настройки мне следует использовать, если я хочу, чтобы столбец содержал автоматически сгенерированное уникальное int vaue, например атрибут Identity в Microsoft Sql?

1 Ответ

0 голосов
/ 03 декабря 2018

Для уникального значения AI:

CREATE TABLE tbl (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
)

Первичный ключ для всех целей индексации такой же, как уникальный ключ.

...