MySQL SET Type Update 질문 0 1 1,153

by 윤형 [MySQL] MySQL SET [2016.12.14 11:22:54]


안녕하세요. DB를 설계하다가 궁금한점이 있어서 질문드립니다.

 

'equipment'라는 하나의 테이블이 있습니다.

이 테이블의 값들을 'logintable' 의 Authority2컬럼의 Element로 넣고 싶습니다.

Authority2는 Set Type으로 설정되어 있습니다.

equipment의 Product 값들을 외래키로 지정하여 CASCADE로 하고 싶은데 아래의 테이블 구조를 보면 Product 컬럼은 VARCHAR 로 되어있어 logtintable의 Authority2의 외래키로 지정할 수 없습니다.

SET TYPE 을 쓰는 이유는 사용자가 여러 장비에 대해서 권한을 가질 수 있기 때문입니다.

예를 들면 사용자 1은 장비1과 장비2 에 대해서 권한을 가질 수 있고, 

사용자 2는 장비1에 대해서만 권한을 가질 수 있기 때문입니다.

 

결국 질문의 요지는 equipment 테이블의 product 컬럼의 행들을 logintable 테이블의 SET TYPE인 Authority2의 Element로 넣을 수 있는 방법이 있는지 알고 싶습니다.


CREATE TABLE `logintable` (
	`ID` VARCHAR(50) NOT NULL,
	`Password` VARCHAR(50) NOT NULL,
	`Authority1` SET('viewer','worker','leader','planning','admin') NULL DEFAULT NULL,
	`Authority2` SET('Value A','Value B') NULL DEFAULT NULL,
	PRIMARY KEY (`ID`),
	INDEX `FK_logintable_equipment` (`Authority2`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
CREATE TABLE `equipment` (
	`Product` VARCHAR(50) NOT NULL,
	PRIMARY KEY (`Product`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

 

by 윤형 [2016.12.14 11:42:30]

추가로 내용을 덧붙이자면 Product Table의 장비는 추가되거나 편집됩니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입