我正在尝试使用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
语句?
由于
答案 0 :(得分:5)
如果您想要一个始终递增的密钥,请选中AUTO_INCREMENT。
然后你可以像这样插入:
INSERT INTO Friends (FriendName)
select Name as FriendName FROM Employee