mysql присваивает автоматический номер столбцу без первичного ключа - PullRequest
0 голосов
/ 14 декабря 2009

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

  1. cid (идентификатор клиента)
  2. cemail (электронная почта клиента)
  3. cfax (электронная почта клиента)
  4. cname (имя клиента)

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

Ответы [ 2 ]

1 голос
/ 14 декабря 2009

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

Просто в качестве простого примера (не проверено):

CREATE UNIQUE INDEX my_index ON my_table(cemail, cfax, cname);
0 голосов
/ 14 декабря 2009
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`)
);
...