2012-04-10 8 views
0

基本的には、ジャンクションテーブルに挿入して別のテーブルから値を取得したいとします。このようサブクエリ(ジャンクションテーブル上)に挿入するMySQL

$sql= "INSERT INTO cars_owners (car_id, owner_id) VALUES ($id, SELECT owners.owner_id FROM owners WHERE owners.owner_name='$name'))"; 

しかし、この1つは動作しません、誰もがなぜ知っていますか?

答えて

1

SELECTステートメントから挿入するための構文で値のセットを挿入する構文を混在させています。 SELECTから挿入するときは、VALUESというキーワードはありません。

INSERT INTO cars_owners 
    (car_id, owner_id) 
    SELECT $id, owners.owner_id 
     FROM owners 
     WHERE owners.owner_name='$name' 
+0

Works 100%。乾杯。 – Ray

関連する問題