2012-02-23 181 views
1

我試圖用SELECT生成主鍵插入自主鍵

員工執行INSERT

ID(PK) NAME 
1  John 
2  Doo 
3  James 

好友:

ID(PK) FriendName 

現在我想插入所有員工到朋友和d自己生成PK。

我想:

INSERT INTO Friends (ID, FriendName) 
    SELECT (SELECT max(ID)+1 FROM Friends) as ID 
      , Name as FriendName 
    FROM Employee 

對於正常工作的第一條記錄。然後我從MySQL中得到一個重複的關鍵錯誤。

我該如何做到這一點(Select max(ID)+1 from Friends)每行一次?如果這不是正確的方法,我應該如何構建我的INSERT聲明?

感謝

回答

5

如果你想有一個關鍵,就是始終遞增檢查AUTO_INCREMENT

然後你就可以像這樣插入:

INSERT INTO Friends (FriendName) 
select Name as FriendName FROM Employee