使用自生成的主键插入

时间:2012-02-23 10:54:50

标签: mysql sql

我正在尝试使用INSERT执行SELECT来生成主键

员工:

ID(PK)   NAME
1        John
2        Doo
3        James

朋友:

ID(PK)   FriendName

现在我想将所有员工插入好友并自行生成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语句?

由于

1 个答案:

答案 0 :(得分:5)

如果您想要一个始终递增的密钥,请选中AUTO_INCREMENT

然后你可以像这样插入:

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