这可以在MySQL中完成吗?组合的插入和查找查询

时间:2013-04-20 13:14:05

标签: mysql sql jdbc prepared-statement

拥有表用户和项目 用户:用户名(varchar,无重复项),密码(varchar),User_id(唯一自动增量INT)项目:Item_name(varchar),Item_id(唯一自动增量INT),Owner_id(必须来自Users user_id)

因此,您将获得一个Item_name和一个用户名。您想在具有该信息的Items中创建新项目。因此,一方面,您首先需要找到给定用户名的User_id,然后在Items表中插入一个项目,使您找到所有者_id字段= User_id。

抱歉,我对如何在一个声明中表达他感到很困惑。

2 个答案:

答案 0 :(得分:3)

insert into item (item_name, owner_id) values (
    ?, (select u.user_id from user u where u.username = ?)
)

答案 1 :(得分:1)

insert into item (item_name, owner_id) 
select 'new_name', u.user_id 
from user u 
where u.username = 'old_name'