MySQL插入子查询(在联结表上)

时间:2012-04-10 21:40:48

标签: php mysql subquery insert-into

基本上,我想插入一个联结表,从另一个获取值。

像这样:

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

然而,这个不起作用,任何人都知道为什么?

1 个答案:

答案 0 :(得分:1)

您将用于插入一组值的语法与用于从SELECT语句插入的语法混合在一起。从SELECT中插入时没有VALUES关键字。

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