2013-02-11 3 views
0

У меня есть таблица базы данных, в которой сохранена информация профиля пользователей. Иногда, когда пользователи регистрируются, они дублируются с дополнительным столбцом с одинаковыми записями, иногда нет.MySQL меняет столбец на уникальный

Итак, я задаюсь вопросом, помещаю ли я Уникальный текст в столбце «Email», чтобы убедиться, что пользователь не дублирует при регистрации.

Я думаю, что это должно быть что-то вроде этого:

ALTER TABLE users ADD UNIQUE idx_row_unique(email); 

Но в случае Уникально дать ошибку, как я отменить его?

Просто напугайте, что после того, как я его сменил, я не знаю, как его отменить.

ответ

2

Если есть повторяющиеся сообщения электронной почты, таблица изменений не работает. Так ты в безопасности!

+0

Даже как функция заставляет базу данных создавать 2 столбца одинаковыми? –

+0

Потому что я не понимаю, почему иногда мой регистр функций сохраняется с пользователем в 2 раза идентичным. Итак, я хочу проверить это, и сохранить один, и удалить другой. –

+1

Итак, если теперь у вас есть 2 раза одна и та же почта в вашем поле, утверждение 'alter table' не будет выполнено. В будущем, если у вас есть функция, которая сохраняет данные в базе данных, вам необходимо изменить это, чтобы рассмотреть новые условия. – GeorgeVremescu

0

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

+0

Есть ли способ экспортировать его? Я не создал базу данных –

+0

Если у вас есть доступ к phpMyAdmin для базы данных, есть функция экспорта. Я не знаю, как это сделать с помощью кода. – tjfo

+0

... Я использую cmd –

Смежные вопросы