2012-02-23 19 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から重複したキーエラーが出ます。

私はこれをどのようにすることができます行ごとに1回ですか?それが正しい方法でない場合、私はどのように私のINSERTステートメントを構造化すべきですか?

おかげで、いつでもチェックAUTO_INCREMENTをインクリメントされたキーをしたい場合は

答えて

5

次に、あなたはこのように挿入を行うことができます。

INSERT INTO Friends (FriendName) 
select Name as FriendName FROM Employee 
関連する問題