MySQL: сделать колонку уникальной? - PullRequest
16 голосов
/ 04 июля 2011

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

ALTER TABLE  `foo` ADD UNIQUE ( `bar` )

Ответы [ 5 ]

11 голосов
/ 04 июля 2011
  1. У вас нет дубликатов -> примените ключ без проблем
  2. У вас есть дубликаты -> выдаст сообщение об ошибке, с вашими данными ничего не случилось
  3. Все естьуникальное, за исключением нескольких строк с NULL в них, ограничение уникальности все еще применяется, так как NULL не проверяется при проверке уникальных значений (вы можете иметь всю таблицу со значением NULL в уникальном поле без какого-либо сообщения об ошибке).

Еще одна вещь, если у вас есть prod DB, у вас также должна быть dev DB, которую вы можете тестировать без страха, верно?

6 голосов
/ 13 июля 2017

Выполните следующие шаги, чтобы применить уникальное значение столбца на панели phpmyadmin:

Перейти к структуре таблицы.Нажмите на уникальное ключевое слово, как показано ниже -

enter image description here

Нажмите на окно подтверждения из окна подтверждения -

enter image description here

Будет применено ограничение уникального значения для столбца.Или вы можете выполнить запрос mysql:

ALTER TABLE user ADD UNIQUE (email);

1 голос
/ 04 июля 2011

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

1 голос
/ 04 июля 2011

Это будет проблемой только в том случае, если ранее существующие значения в таблице не являются уникальными, иначе я не думаю, что возникнут какие-либо проблемы.

0 голосов
/ 10 июня 2019

У меня была эта проблема, и мои значения не были уникальными.Я также не смог найти простой способ отредактировать эту проблему в PHPMyAdmin.Вот как я решил это:

  1. Я щелкнул в таблице, мне нужно обновить

  2. Я экспортировал таблицу, изменив ее на CSVэкспортировать, а затем отредактировать его вручную, чтобы обновить неуникальные значения.

  3. Убедившись, что я все еще в экспортированной таблице (потому что я хотел сохранить заголовки нетронутыми), я импортировал свои вновь сохраненныеCSV

Надежда, которая спасет кого-то в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...