2014-02-18 9 views
0

Я двигаюсь 2 строки из таблицы называется allCooks одной строки в таблице под названием recipeChallenge (cookAAA против cookBBB в пиццерии вызова)
Каждый матч уже имеет идентификатор, и это это строка, я хочу, чтобы обновитьОбновление одной строки таблицы из другой отдельной строки таблицы

я делаю обновление дважды, один раз для cookAAA, а затем для cookBBB
чтобы обновить 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. Почему?

+0

Обеспечение структуры таблицы. У меня есть ощущение, что это «весь ваш подход» – Alexander

+0

@Alex, возможно, структура WholeWhole db сомнительна, но позволяет сказать, что я хочу сделать это таким образом, является ли весь подход к этой проблеме неправильным? – Gamemorize

+1

@ Alex, @ Prix, Привет, Я выгляжу так, как будто мне нужно узнать, что такое ПРИСОЕДИНЕНИЕ. – Gamemorize

ответ

1

Вы можете сделать, как:

"UPDATE `recipeChallenge` AS v1, 
    `allCooks` AS v2 , 
    `allCooks` AS v3 
SET v1.`cookAAAID` = v2.`cookID`, 
    v1.`cookAAAName` = v2.`cookName`, 
    v1.`cookBBBID` = v3.`cookID`, 
    v1.`cookBBBName` = v3.`cookName` 
WHERE  v1.`matchID`='" .$matchID."' 
    AND v2.`cookID`= '" .$cookAID."' 
    AND v3.`cookID`= '" .$cookBID."'"; 
+0

Спасибо! Вы подтвердили, что мой mysql был в порядке (теперь лучше)! – Gamemorize

Смежные вопросы