创建查询以使用外键将数据插入MySQL

创建查询以使用外键将数据插入MySQL,mysql,sql,sql-insert,Mysql,Sql,Sql Insert,我是DB的新手,我正在尝试将数据插入下表: 表开始 表=用户 列=id、用户名、密码 表=用户信息 列=id、电子邮件、地址、日志、肖像、用户id 桌尾 users\u info.user\u id是链接到users.id的外键 我想构建一个查询,根据(用户表)中的信息将数据插入(用户信息表)。。。文字,即: Insert portrait into users_info where user_id = users.id and username = JohnDoe 什么样的语法可以让这一切顺

我是DB的新手,我正在尝试将数据插入下表:

表开始

表=用户

列=id、用户名、密码

表=用户信息

列=id、电子邮件、地址、日志、肖像、用户id

桌尾

users\u info.user\u id是链接到users.id的外键

我想构建一个查询,根据(用户表)中的信息将数据插入(用户信息表)。。。文字,即:

Insert portrait into users_info where user_id = users.id and username = JohnDoe
什么样的语法可以让这一切顺利进行

谢谢

试试这个:

Insert portrait into users_info 
(id, email) VALUES ( select user.id, 'johndoe@domain.com' )
where user_id = users.id and username = 'JohnDoe'
)

如果要更新
users\u 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基础知识


祝你好运

否我想将数据插入与user\u id=users.id匹配的行上的users\u info中。这不是用于创建新条目或行,而是用于更新现有条目或行。是的,两个表上的id列都是AUTO_incrementsome上的主键,非常好,谢谢LoBS。也谢谢你的SQL教程链接,我真的需要它。