我有一个问题,基本上和标题一样,我尝试过的查询是:
INSERT INTO
pendingresults,
l1_afixtures (pendingresults.TeamAName, pendingresults.TeamA,
pendingresults.TeamAScore, pendingresults.TeamBScore, pendingresults.TeamB)
VALUES (
'$pls',
'$TeamA',
'$TeamAScore',
'$TeamBScore',
'$TeamB')
WHERE
l1_afixtures.team_name = $TeamA
AND
l1_afixtures.fixture = $TeamB
AND
l1_afixtures.disabled = 'enabled';
这个查询有什么问题吗?我知道没有的查询
where l1_afixtures.team_name = $TeamA AND
l1_afixtures.fixture = $TeamB AND l1_afixtures.disabled = 'enabled';
工作,但和哪里的功能,我似乎无法让它工作
有什么想法吗?感谢
您可以这样尝试:
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition>;
在这种特殊情况下,它可能是这样的:
INSERT INTO pendingresults (TeamAName, TeamA, TeamAScore, TeamBScore, TeamB)
SELECT TeamAName, TeamA, TeamAScore, TeamBScore, TeamB
FROM l1_afixtures
WHERE
l1_afixtures.team_name = $TeamA
AND l1_afixtures.fixture = $TeamB
AND l1_afixtures.disabled = 'enabled'
您不能执行INSERT ... VALUES... WHERE
你可以做INSERT .... SELECT ... WHERE
并且一次只能将INSERT
放入一个表中。
所以
insert into pendingresults (TeamAName, TeamA, TeamAScore, TeamBScore, TeamB)
values('$pls', '$TeamA', '$TeamAScore', '$TeamBScore', '$TeamB')
或
insert into pendingresults (TeamAName, TeamA, TeamAScore, TeamBScore, TeamB)
Select TeamAName, TeamA, TeamAScore, TeamBScore, TeamB
from l1_afixtures
where
l1_afixtures.team_name = $TeamA
AND l1_afixtures.fixture = $TeamB
AND l1_afixtures.disabled = 'enabled'