如何在两个表中插入相关数据部分?

时间:2013-12-03 02:21:17

标签: mysql database-design insert

我有一张员工表

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中学习)。

2 个答案:

答案 0 :(得分:1)

如果您的位置表类似于所有可能位置的主表,则为每个行和empPosition表分配一个位置ID,您可以在员工和职位之间进行映射。

INSERT INTO marioposition   (positionIDpositionNamedatePositionChanged) VALUES   (1,'经理','2013-12-01');

INSERT INTO marioemployee   (empIDfNamelNameaddresspostCodedateOfBirth) 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等获取位置