Можем ли мы сделать существующий столбец первичным ключом? - PullRequest
0 голосов
/ 29 июня 2018

У меня есть одно имя столбца Token, и я генерирую случайные числа и сохраняю их в токене, но иногда он сохраняет дубликаты токенов, поэтому я хочу сделать его уникальным.

Я хочу знать, повлияет ли это на существующие записи .

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Если вы попытаетесь добавить уникальное ограничение (или ограничение первичного ключа) к столбцу, который содержит неуникальные значения, оператор alter просто не выполнится. Сначала необходимо обновить столбец, чтобы все значения были уникальными (или удалить дубликаты), а затем изменить таблицу.

0 голосов
/ 29 июня 2018
ALTER table Student add primary key (studentID)

Используйте команду Alter для редактирования DDL таблицы, а затем добавьте к ней первичный ключ, указав столбец. Если первичный ключ уже существует, то сначала вам нужно будет отбросить его, прежде чем определять другой PK с помощью -

ALTER table STUDENT drop CONSTRAINT <constraint_name>
0 голосов
/ 29 июня 2018

Попробуйте сделать это

ALTER table_namePersons ADD UNIQUE (Token);

После этого, если вы попытаетесь вставить дубликат ключа, у вас будет ошибка, и, перехватив ее, вы сможете сгенерировать еще один токен

...