mysql присваивает автоматический номер столбцу без первичного ключа

0

У меня есть таблица со столбцами

  • cid (идентификатор клиента)
  • cemail (адрес электронной почты клиента)
  • cfax (электронная почта клиента)
  • cname (имя клиента)

теперь я хочу, чтобы не было дублирования в cid, cemail, cfax, поскольку я делаю это, я делаю все это как первичные ключи, но если только одно значение - это разные данные, принимающие данные, я хочу, чтобы он проверял все значения, сделать сейчас?

Теги:
duplicate-removal

2 ответа

0
Лучший ответ
CREATE TABLE `customers` (
  `cid` int NOT NULL auto_increment,
  `cemail` varchar(123) NOT NULL,
  `cfax` varchar(123) NOT NULL,
  `cname` varchar(123) NOT NULL,
  PRIMARY KEY  (`cid`),
  UNIQUE KEY `cemail` (`cemail`,`cfax`,`cname`)
);
  • 0
    я использую этот код, но он также позволяет дублирование cfax, а также cemail означает, что это решает проблему
  • 0
    СОЗДАТЬ ТАБЛИЦУ customers ( cid int NOT NULL auto_increment, cemail varchar (123) NOT NULL, cfax varchar (123) NOT NULL, cname varchar (123) NOT NULL, ПЕРВИЧНЫЙ КЛЮЧ ( cid ), УНИКАЛЬНЫЙ КЛЮЧ cemail ( cemail ), УНИКАЛЬНЫЙ КЛЮЧ ' cfax '(' cfax '), УНИКАЛЬНЫЙ КЛЮЧ' cname '(' cname ')); это означает определить уникальный ключ для каждого столбца, который мы хотим
Показать ещё 1 комментарий
1

Вы должны создать уникальный индекс в этих полях.

Как простой пример (не протестирован):

CREATE UNIQUE INDEX my_index ON my_table(cemail, cfax, cname);

Ещё вопросы

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