mysql - Table with FK refer to a table with two PK -



mysql - Table with FK refer to a table with two PK -

i have table1 id , name columns both pk, table2 have fk refer table1 column: name, when create fk in mysql workbench, error:

error 1215: cannot add together foreign key constraint

table1: level, id enum(), name varchar(20) both pk.

table2: class, id bigint pk autoincrement, level_name varchar(20), number int.

level_name fk pk name

adding foreign key need care somethings in case in table1 level have made primary key (id,name) , in sec table referencing level_name foreign key wrong need refer pair of columns class table in order create foreign key add together level_id of same type of id column table1 level , reference pair foreign key (level_id, level_name) table level see below sample schema tables

create table `level` ( `id` enum('1','2','3','4','5') not null, `name` varchar(20) not null, primary key (`id`,`name`) ) engine=innodb default charset=latin1; create table `class` ( `id` bigint(20) not null auto_increment, `level_name` varchar(20) not null, `level_id` enum('1','2','3','4','5') default null, `number` int(11) default null, primary key (`id`), key `fk_key` (`level_id`,`level_name`), constraint `fk_key` foreign key (`level_id`, `level_name`) references `level` (`id`, `name`) ) engine=innodb default charset=latin1; demo

mysql foreign-keys

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -