Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL语法错误-INSERT中的SELECT语句_Mysql_Syntax - Fatal编程技术网

Mysql SQL语法错误-INSERT中的SELECT语句

Mysql SQL语法错误-INSERT中的SELECT语句,mysql,syntax,Mysql,Syntax,我有一行sql,它在select语句的右括号后面给出了一个语法错误。我相信我可以这样写代码。有别的选择吗 select语句中的变量来自GET,其他变量来自POST。感谢您的帮助 $sql2="INSERT INTO playerRegSeason (playerID, year, teamID, gp, minutes, pts, oreb, dreb, reb, asts, stl, blk, turnover, pf, fga, fgm, fta, ftm,

我有一行sql,它在select语句的右括号后面给出了一个语法错误。我相信我可以这样写代码。有别的选择吗

select语句中的变量来自GET,其他变量来自POST。感谢您的帮助

$sql2="INSERT INTO playerRegSeason 
       (playerID, year, teamID, gp, minutes, pts, oreb, dreb, reb, 
        asts, stl, blk, turnover, pf, fga, fgm, fta, ftm, tpa, tpm)
VALUES ((
       SELECT playerID FROM players WHERE firstname='$firstname' 
       AND lastname='$lastname' AND firstseason=$firstseason), $year, 
      '$team', $gp, $minutes, $pts, $oreb, $dreb, $reb, $asts, $stl, 
       $blk, $turnover, $pf, $fga, $fgm, $fta, $ftm, $tpa, $tpm)";

从选择项插入时,不要使用

INSERT INTO abc (foo, bar)
SELECT x, y FROM z
用这个

$sql2="INSERT INTO playerRegSeason 
       (playerID, year, teamID, gp, minutes, pts, oreb, dreb, reb, 
        asts, stl, blk, turnover, pf, fga, fgm, fta, ftm, tpa, tpm)

       SELECT playerID, $year, '$team', $gp, $minutes, $pts, $oreb, 
         $dreb, $reb, $asts, $stl, $blk, $turnover, $pf, $fga, $fgm, 
         $fta, $ftm, $tpa, $tpm FROM players WHERE firstname='$firstname' 
       AND lastname='$lastname' AND firstseason=$firstseason";

您编写的SQL语句不正确,您需要删除values子句,或者您可以参考了解如何使用select语句编写insert

$sql2=“插入playerRegSeason(玩家ID、年份、团队ID、gp 、会议记录、临时技术秘书、oreb、dreb、reb、asts、stl、blk、营业额、pf、fga、fgm、fta、ftm、tpa、tpm)


我得到了这个错误:错误:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第行“从firstname=''、lastname=''和firstseason='的玩家中选择playerID”附近使用的正确语法2@user2884641:在sql fiddler和
insert into table1 (field1, field2, ...)
select col1, col2, ...
from table2
where ....
    values(SELECT playerID,year, $team, $gp, $minutes, $pts, $oreb, $dreb, 
    $reb, $asts, $stl, $blk, $turnover, $pf, $fga, $fgm, $fta, $ftm, $tpa, $tpm
    WHERE firstname='$firstname' 
    AND lastname='$lastname' AND firstseason='$firstseason')";