我是sql的初学者,我通过php文档这样做。我需要知道如何将这些组合成一个查询。sql是粗糙的,但希望你们都应该得到我想做的想法。
**我要做的是在'stats'和'ufc133'表中加入'username'然后根据'ufc133'表中'pick1'中存储的值更新'scores'表
这是一个体育选秀网站的代码,我的目标是根据他们做出的正确或错误的选择给用户分数。分数和选择被存储在不同的表中。这个特殊的查询只针对'pick1'
代码:
<?php
mysql_query("
SELECT * FROM ufc133, stats JOIN stats ON ufc133.username = stats.username
UPDATE stats SET score = (score + 10), mmascore = (mmascore + 10), mmawins = (mmawins + 1), mmagames = (mmagames + 1), wins = (wins + 1), games = (games + 1)
WHERE pick1 = 11
");
?>
update语句只能引用一个表。更新可以在WHERE子句中包含子选择,以便将要更新的行的ID与某些查询的结果相匹配。例如:
UPDATE stats
SET score = (score + 10), mmascore = (mmascore + 10), mmawins = (mmawins + 1), mmagames = (mmagames + 1), wins = (wins + 1), games = (games + 1)
-- This part made up for illustration purposes
WHERE id IN (
SELECT Table1.id from Table1 INNER JOIN Table2 ON Table1.id = Table2.id WHERE....
)
您不能通过mysql_query()
发送单独/多个语句。
mysql_query()发送一个唯一查询(不支持多个查询)到当前活动的数据库
您将不得不发出多个命令,或者调用一个存储过程。