【发布时间】:2011-06-28 16:46:44
【问题描述】:
我在网上冲浪并找到了与我想要的类似的东西,但它没有执行...请帮助
我的表格结构如下:
TABLE team
id integer autoincrement primary key,
name varchar,
pointsfavor integer,
pointscontra integer
TABLE game
id integer autoincrement primary key,
team1_id integer,
team2_id integer,
score1 integer, /*score for team1*/
score2 integer /*score for team2*/
到现在为止我有这个更新声明:
UPDATE team
INNER JOIN game g1 ON (team.id = g1.team1_id)
INNER JOIN game g2 ON (team.id = g2.team2_id)
SET pointsfavor = pointsfavor
+ IF(g1.score1 > g1.score2, g1.score1 - g1.score2, 0)
+ IF(g2.score2 > g2.score1, g2.score2 - g2.score1, 0)
, pointscontra = pointscontra
+ IF(g1.score1 < g1.score2, g1.score2 - g1.score1, 0)
+ IF(g2.score2 < g2.score1, g2.score1 - g2.score2, 0)
WHERE g1.id = 1;
当我将它放入我的 sql 中时,它会执行该函数,但它不会改变我的团队中的“pointsfavor”和“pointscontra”字段......所以它说,受影响的行 (0)......
看:
这是我在 game 表中输入的值(score1 和 score2):
这是我执行代码后的 team 表...保持不变:
请帮忙。
【问题讨论】:
标签: php sql join inner-join sql-update