2013-04-07 46 views
2

我是一个总的新手,在DB的,我尝试将数据插入到下表中插入数据到MySQL:创建查询使用外键

表开始

表=用户

列= ID,用户名,密码

表= users_info

列= ID,电子邮件,地址,记录,肖像,user_id说明

表结束

users_info.user_id是链接到users.id的外键。

我想建立一个将基于从(users表)信息将数据插入(users_info表)查询...字面即:

Insert portrait into users_info where user_id = users.id and username = JohnDoe 

什么是语法得到这个打算?

谢谢!

+0

否我想在与user_id = users.id匹配的行上的users_info中插入数据。这不是用于创建新的条目或行,而是用于更新现有条目或行。是的两个表上的id列是AUTO_INCREMENT上的主键 – DeviArt 2013-04-07 17:51:38

回答

1

如果你想要做的是更新的users_info表中的数据,那么你必须使用UPDATE命令。

UPDATE users_info a SET a.portrait = 'value1', a.logged = 'value2', a.address = 'value3', a.email = 'value4' where a.user_id = (SELECT DISTINCT(id) FROM users b WHERE b.username = 'JohnDoe') 

基础上SQL命令上http://www.w3schools.com/sql/

祝您好运!

+0

真棒,完美的工作,谢谢LoBS。也感谢你的SQL教程链接,我真的需要它。 – DeviArt 2013-04-07 20:22:09

+0

不用担心男人:)很高兴我能帮上忙 – LoBS 2013-04-07 20:52:30

0

试试这个:

Insert portrait into users_info 
(id, email) VALUES (select user.id, '[email protected]') 
where user_id = users.id and username = 'JohnDoe' 
)