Mysql SQL关联实体的语法错误

Mysql SQL关联实体的语法错误,mysql,sql,Mysql,Sql,我不知道为什么这个代码不起作用。抛出语法错误,但据我所知,这应该是可行的。有人能解释一下我做错了什么吗 insert into playerteam(playerId, teamId) select id from player where player.firstname='John' and select id from team where team.`name`='Swim Team'; 这: 不能只将整个查询结果作为where子句返回。你必须以某种方式测试这个结果 ... AN

我不知道为什么这个代码不起作用。抛出语法错误,但据我所知,这应该是可行的。有人能解释一下我做错了什么吗

insert into playerteam(playerId, teamId) select id from player where 
  player.firstname='John' and select id from team where team.`name`='Swim Team';
这:

不能只将整个查询结果作为
where
子句返回。你必须以某种方式测试这个结果

... AND EXISTS select ...
         ^^^^
这:

不能只将整个查询结果作为
where
子句返回。你必须以某种方式测试这个结果

... AND EXISTS select ...
         ^^^^
使用方法如下所示:

INSERT INTO playerteam(playerId, teamId) 
SELECT (SELECT id FROM player WHERE player.firstname='John'), 
    (SELECT id FROM team WHERE team.`name`='Swim Team');
使用方法如下所示:

INSERT INTO playerteam(playerId, teamId) 
SELECT (SELECT id FROM player WHERE player.firstname='John'), 
    (SELECT id FROM team WHERE team.`name`='Swim Team');

您的
select
查询不正确-无法使用
select。。。然后选择…
,您需要使用
join

例如(但为了连接两个表,您需要在此处添加连接部分):


您的
select
查询不正确-无法使用
select。。。然后选择…
,您需要使用
join

例如(但为了连接两个表,您需要在此处添加连接部分):


您应该研究如何使用insert语句的子查询—您的查询格式完全错误……我知道哪里出了问题,我没有正确嵌套,并且正在通过where子句运行查询。我对此还是新手,但感谢您的反馈。您应该研究如何使用insert语句的子查询-您的查询格式完全错误…我知道哪里出了问题,我没有正确嵌套,并且正在通过where子句运行查询。我还是个新手,但是谢谢你的反馈。@Suraz的解决方案实际上对我很有效,谢谢你的反馈,我也会调查存在的问题@苏拉兹的解决方案实际上对我很有效,谢谢你的反馈,我也会调查存在的问题!工作很好,谢谢你的反馈。我没有注意where条款。这里的一个noob仍然工作得很好,谢谢你的反馈。我没有注意where条款。这里还是个好地方是的,谢谢,我让它工作起来了。我相信这个解决方案比我必须做的要多做一点工作,但是再次感谢你的反馈。是的,谢谢,我成功了。我相信这个解决方案比我必须做的要多做一些工作,但再次感谢您的反馈。