【发布时间】:2014-03-18 01:48:53
【问题描述】:
我正在将名为 allCooks 的表中的 2 行移动到名为 recipeChallenge 的表中的一行(cookAAA 在比萨挑战赛中对抗 cookBBB)
每个匹配都已经有一个 ID,这是我要更新的行
我进行了两次更新,一次是为cookAAA,然后是为cookBBB
用厨师 A 更新 matchID...(我已经将 php 变量留在了)
"UPDATE `recipeChallenge` AS v1,
`allCooks` AS v2
SET v1.`cookAAAID` = v2.`cookID`,
v1.`cookAAAName` = v2.`cookName`
WHERE v1.`matchID`='" .$matchID."'
AND v2.`cookID`= '" .$cookAID."'";
然后是厨师B
"UPDATE `recipeChallenge` AS v1,
`allCooks` AS v2
SET v1.`cookBBBID` = v2.`cookID`,
v1.`cookBBBName` = v2.`cookName`
WHERE v1.`matchID`='" .$matchID."'
AND v2.`cookID`= '" .$cookBID."'";
表 recipeChallenge 正在更新,但第二次更新还创建了一个新的 matchID 和 recipeChallenge 表中的行。为什么?
【问题讨论】:
-
提供您的表结构。我有一种感觉,这就是“你的全部方法”
-
@Alex,WholeWhole db 结构可能有问题,但可以说我想这样做,解决这个问题的整个方法错了吗?
-
@Alex,@Prix,干杯,我看起来我必须了解什么是 JOIN。
-
@Prix,你的问题使用了 1 个匹配变量,我的有两个单独的变量需要在 mysql 中单独验证
-
@Gamemorize 是这样吗?就用2吧,看不出有什么难的,你不是说你会去学习/阅读关于JOIN的吗?