두 개의 열이있는 경우가 있지만 그 값은 둘 다 고유해야합니다. 그래서 당신은 아래 표를열마다 고유 한 값
CREATE TABLE user_details(
id int(11) AUTO_INCREMENT PRIMARY KEY,
email varchar(200),
secondary_email varchar(200),
unique key(email),
unique key(secondary_email)
);
나는, 이메일 email
및 secondary_email
열을 통해 반복 할 수 없습니다되어 원하는 기능을 고려할 수 있습니다. 따라서 주어진 이메일은 한 명의 사용자와 만 연결할 수 있습니다. 우리는 트리거없이 MySQL에서이를 구현할 수 있습니까? 현재는 애플리케이션 로직을 통해 관리하고 있으며, 다른 팀의 모듈을 통해 다른 사람들이 테이블에 데이터를 삽입/업데이트 할 때 종종 처리하기가 매우 어렵습니다.
또한 추가하려면 내 사용자 테이블이 수백만 개의 레코드 순이며 보조 모바일 옵션도 있습니다. 2x 크기의 두 번째 (또는 세 번째) 테이블을 만들고 항상 두 개 (또는 세 개의) 테이블을 결합하면 내 경우가 더욱 악화됩니다. user_details_id, email_address
에서 기본 키와
user_details_email
------------------
user_details_id (FK)
email_address
: 당신이 당신의 디자인을 정상화 경우, 사용자 세부 사항을 참조하는 전자 메일 테이블을 가질 수
전자 메일 용 테이블 만들기 (id, email_id) –