Gremlin92
@Gremlin92
Целеустремленный

Спроектировать связь таблиц?

Есть такая вот таблица:
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(30) DEFAULT NULL,
  `email` varchar(30) DEFAULT NULL,
  `password` varchar(32) DEFAULT NULL,
  `reg_date` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `nickname` (`nickname`)
)

Требуется еще одна, в ней должны быть тоже юзеры и прочие данные, так вот что лучше взять поле id или nickname?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 3
tsklab
@tsklab
Здесь отвечаю на вопросы.
ID

UNIQUE KEY `nickname` (`nickname`) и `nickname` varchar(30) DEFAULT NULL означает, что без прозвища может быть только один пользователь.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Во первых использовать ID

во вторых расширить поле почты до 256 символов, сделать на нем уникальный индекс
Ответ написан
@immelnikoff
Изучаю БД
так вот что лучше взять поле id или nickname?

Взять в качестве ссылочного поля внешнего ключа другой таблицы? В некоторых СУБД, например, в MySQL нельзя внешнему ключу назначить не первичный ключ (другой таблицы).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы