По умолчанию: primary key defination Уникально.первичный ключ таблицы mysql не выполнен
В моей базе данных у меня есть:
:create database college;
:use college;
:CREATE TABLE student (id INT, name VARCHAR(20), email VARCHAR(20),primary key(id,email));
это, как я создаю таблицу в моем database..where первичного ключа ID и адрес электронной почты. Это означает, что значение id и email должно быть уникальным. сейчас, Вставляю значения;
mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","x[email protected]");
Query OK, 1 row affected (0.06 sec)
затем снова я ставлю ту же запись:
mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","[email protected]");
ERROR 1062 (23000): Duplicate entry '[email protected]' for key 'PRIMARY'
теперь держать идентификатор это же и изменить значениеэлектронной
mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","[email protected]");
Query OK, 1 row affected (0.06 sec)
он вставлен .. Зачем? Я установил id,email
в качестве первичного ключа. Почему эти два столбца работают неправильно?
я поставил:
CREATE TABLE student (
s_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name varchar(50),
email varchar(50),
PRIMARY KEY (s_id,email)
);
и
alter table student add constraint case unique (s_id,email);
теперь также дает тот же результат
Это сложный ключ. MySQL и вся база данных берут оба столбца для проверки уникальности. – starko