我有一张员工表
empID(name, address and dateOfBirth)
Position(positionID, positionName)
empPosition(empID, positionID, datePositionChanged, INDEX(empID), INDEX(positionID))
我已在employee表中插入:
INSERT INTO `mario`.`employee`
(`empID`, `fName`, `lName`, `address`, `postCode`, `dateOfBirth`)
VALUES
(NULL, 'Paul', 'Roberts', '221 heaventown street', '1994-12-01');
并在位置表中:
INSERT INTO `mario`.`position`
(`positionID`, `positionName`, `datePositionChanged`)
VALUES
(NULL, 'Manager', '2013-12-01');
显然,保罗和经理之间没有任何关系。关于如何插入它的任何建议?
(我是一名新生;只是在mySQL中学习)。
答案 0 :(得分:1)
如果您的位置表类似于所有可能位置的主表,则为每个行和empPosition表分配一个位置ID,您可以在员工和职位之间进行映射。
INSERT INTO mario
。position
(positionID
,positionName
,datePositionChanged
)
VALUES
(1,'经理','2013-12-01');
INSERT INTO mario
。employee
(empID
,fName
,lName
,address
,postCode
,dateOfBirth
)
VALUES
(1,'保罗','罗伯茨','221 heaventown street','1994-12-01');
INSERT INTO mario
。empPosition'
('empID','positionID')值(1,1);
答案 1 :(得分:-1)
看来Table Position应该有一个类似PositionId的主键。然后将其插入empPosition。换句话说,empPosition是一种查找表,它引用主键EmployeeId和PositionId。然后可以查询此表以通过employeeId等获取位置