DB
Mysql 에서 foreign key 설정
휘사마
2012. 3. 17. 20:28
table A에 primary key인 column pk 가 있고 이를 다른 table B,C,D ... 에서 foreign key로 설정하려고 했다.
그런데 2개 이상 지정을 하려고 하니 에러가 나며 테이블이 만들어지지 않았다.
이유는 다음과 같다.
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
요기 symbol 의 이름이 database를 통틀어 unique 해야되기 때문이었다.
저게 왜 db를 통틀어 unique 해야되도록 만들어 놓은지 이유를 잘 모르겠다. -_-;
http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html
http://www.lovelgw.com/Blog/207