将数据插入表

时间:2014-10-03 16:49:01

标签: mysql mysql-workbench

目前我有三个表:测试,联系和工作人员

测试

FirstName LastName

联系

Contact_Id   Contact_FirstName Contact_LastName

人员

Staff_ID Contact_Id   

Staff Id应该是自动增加的,我需要一个遍历测试表中所有行的脚本。如果FirstName和LastName匹配Contact_FirstName和Contact_LastName。将匹配的Contact_ID号码添加到Staff表中的Contact_Id。

2 个答案:

答案 0 :(得分:0)

INSERT INTO `staff` (`Contact_Id`)
SELECT c.`ContactId`
FROM   `Contact` c
JOIN   `Test` t ON c.`Contact_FirstName` = t.`FirstName` AND
                   c.`Contact_LastName` = t.`LastName`

答案 1 :(得分:0)

首先通过在CREATE语句中添加IDENTITY来更改Staff表的结构,如果您希望它自动递增。

CREATE TABLE Staff(StaffID INT IDENTITY,ContactID INT)

现在尝试这个只插入contactID,因为IDENTITY允许你跳过那个列,sql为你创建这些ID。

INSERT Staff SELECT Contact_ID FROM Contact c JOIN Test t ON c.Contact_FirstName = t.FirstName and c.Contact_LastName = t.LastName

这似乎是根据测试的联系人名称检查联系人的联系人姓名..但如果您传递人名而不是t.FirstName和t.LastName

,这应该有效