Можем ли мы сделать существующий столбец первичным ключом?

0

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

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

  • 0
    Вы использовали php для взаимодействия с sql?
  • 0
    @VitoFerrulli Да
Теги:
primary-key
ddl
unique-key

3 ответа

2

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

  • 0
    Благодарю вас. Я думаю, что это поможет мне
0
ALTER table Student add primary key (studentID)

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

ALTER table STUDENT drop CONSTRAINT <constraint_name>
  • 0
    Для установки первичного ключа в столбце, в котором есть дубликаты, вы должны сначала избавиться от них.
-2

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

ALTER table_namePersons ADD UNIQUE (Token);

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

  • 0
    Он получит ошибки с этим, так как у него есть дубликаты уже в этом столбце
  • 0
    Ах да, я не думаю, что он уже дублирует записи

Ещё вопросы

Сообщество Overcoder
Наверх
Меню