2016-04-07 10 views
0

あるテーブルのデータを別のテーブルに挿入しようとしています。しかし、テーブルの他の2つの値が等しいところに挿入する必要があります。私が試した:INSERT INTO構文の問題

INSERT INTO table_one(admin_id) 
SELECT id FROM admin 
WHERE table_one.employee_code = admin.employee_code 

を私はのようなエラーが出ます:

Unknown column 'admin.employee_code' in 'where clause' 

この状況に対処する適切な方法は何ですか?

この質問が他の場所で尋ねられた場合(私はそれがあったと確信していますが、何を尋ねるのかわからず、それを見つけることができませんでした)、私にそれをリンクしてください。

ありがとう

EDIT

はそれが私が更新している必要がありそうだったが判明します。

以下は、動作したMySQL構文です。

UPDATE table_one as t1 JOIN 
    admin as a 
    ON t1.employee_code = a.employee_code 
SET admin_id = a.id; 
+0

したいですか?既存のIDの新しい行を挿入するにはどうすればよいですか? – cableload

答えて

1

私はあなたが更新テーブルにしたい推測しています、新しいレコードを挿入しません:あなたは、更新または挿入するために

UPDATE table_one t1 JOIN 
     admin a 
     ON t1.employee_code = a.employee_code 
    SET admin_id = admin.id; 
+0

ありがとうございます。これが答えでした。私は今、ばかげていると感じますが、私たちはすべてどこかで始まります:) – synapseradio

関連する問題