테이블의 기본 키를 ENUM
필드로 만들 수 있습니다. 예를 들어 :
CREATE TABLE test (
id enum('1','2') NOT NULL,
domain varchar(50) NOT NULL,
primary key (id));
당신이 그것을 업데이트 명시 적으로 ID를 설정해야합니다 ""로, "1"또는 "2"*이 null 일 수 없습니다 만 각각 하나 개의 레코드가있을 수 있습니다. 신분증. 도메인은 여전히
domain
필드에 저장되어 있으므로이 데이터베이스를 쿼리하는 외부 시스템이 원하는 결과를 얻는데 아무런 문제가 없기를 바랍니다.
도메인 이름이 고유해야하는 현재 제한 사항을 복제하려면 unique key (domain)
을 추가 할 수도 있습니다.
* enum이 실제로 문자열 유형이기 때문에 빈 문자열이 허용됩니다 (NULL과 같지 않음). 따라서 총 3 개의 ID 값을 허용하려면 두 개의 허용 된 ID 값을 지정하십시오.
번체 : 여기에서 달성/예방하려는 것은 무엇입니까? 테이블에 레코드를 추가 할 수있는 자동화 된 프로세스가 있습니까? 실수로 실수로 계정을 탈취 한 사람이 계정을 탈취 할 수 없다는 것을 확인하려고합니까?
레코드를 삽입 할 수있는 프로세스가 사용자에게 실행중인 경우 세 레코드를 테이블에 넣은 다음 자신의 INSERT 권한을 제거 할 수 있습니다. 기존 레코드를 여전히 변경할 수는 있지만 명시 적으로 권한을 다시 부여하지 않으면 더 이상 추가 할 수 없습니다.
레코드가 3 개 이하인 db 테이블을 원하십니까? 데이터베이스를 사용하지 않을 수도 있습니다. – Churk
@churk 데이터베이스 사용은 필수이며이 테이블은 다른 규칙을 가진 일련의 테이블 중 하나입니다 – Omar
다른 도메인을 추가하면 어떻게됩니까? – Ben