【发布时间】:2016-05-03 22:32:00
【问题描述】:
我有一个表 SkillLevel 创建为
CREATE TABLE `sklllevel` (
`Name` varchar(20) NOT NULL,
`level` enum('No Experience','Beginner','Expert','Advisor') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
有价值观
INSERT INTO test.sklllevel (name,level) values ('No Experience','No Experience'),('Beginner','Beginner'),('Expert','Expert'),('Advisor','Advisor');
我想在另一个创建为的表中使用testSkill.tkSkill 引用 SkillLevel.Level:
CREATE TABLE `testskill` (
`pkid` int(11) NOT NULL,
`name` varchar(45) DEFAULT NULL,
`tkSkill` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`pkid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我是否需要将 tkSkill 作为 ENUM 并具有相同的值集才能设置外键?这里的最佳做法是什么?
【问题讨论】:
标签: mysql enums constraints