Php 如何将table2.column=value插入到Table1中?
我有一个问题,基本上就像标题一样,我尝试过的查询是:Php 如何将table2.column=value插入到Table1中?,php,sql,Php,Sql,我有一个问题,基本上就像标题一样,我尝试过的查询是: INSERT INTO pendingresults, l1_afixtures (pendingresults.TeamAName, pendingresults.TeamA, pendingresults.TeamAScore, pendingresults.TeamBScore, pendingresults.TeamB) VALUES ( '$pls', '$TeamA', '$TeamAScore',
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。。。。选择。。。其中
一次只能将插入到一个表中
所以
或
您可以这样尝试:
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..Select是最好的方法。如果您不将Select结果限制为1,那么它可以多次插入值。@这是对未知数据集的大量假设。不,这意味着如果If
team\u name
、fixture
和disable
值匹配多行,数据将被插入多次。最好的做法是假设无论网页可能使用何种验证(这里没有显示),都可能存在重复项。什么是Pendingress?我认为不能用这样的插入来进行连接。如果不将select结果限制为1,则可能会多次插入值。
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'