Очень нужна ваша помощь в одном запросе... Я мало знаю об этом языке) вот первый код: UPDATE `pvpgn`.`record` SET `W3XP_solo_xp` = '1', `W3XP_solo_level` = '1', `W3XP_solo_rank` = '2', `W3XP_solo_losses` = '1', `W3XP_orcs_losses` = '3', `W3XP_solo_high_rank` = '2', `W3XP_w3pgrace` = '3' WHERE `record`.`uid` =1 LIMIT 1 ; НО! Вместо WHERE `record`.`uid` =1 Мне нужно чтобы база узнала этот uid в другой таблице и в другом столбце... Тотесть примерно так: Чтобы узнать uid, я должен залезть в таблицу "bnet" и произвести поиск по колонке "acct_username" с искомым значением 'longman'. Затем я найду эту строку, и из всей найденой строки мне нужно значение колонки uid в этом нике. Тоесть там будет "1". И вот эту еденичку как число мне нужно запихать в `uid` = в первом коде..
просто тема про sql я дeмал что сюда зайдут те кто шарят=) и подкинут манул по которому они учились ;D
Точно не помню, работоспособность данной конструкции. UPDATE `pvpgn`.`record` SET `W3XP_solo_xp` = '1', `W3XP_solo_level` = '1', `W3XP_solo_rank` = '2', `W3XP_solo_losses` = '1', `W3XP_orcs_losses` = '3', `W3XP_solo_high_rank` = '2', `W3XP_w3pgrace` = '3' WHERE `record`.`uid` = (SELECT `uid` FROM `bnet` WHERE acct_username=`longman`) LIMIT 1 Если не сработает то, только в 2 запроса.
Хз сча попробую. PS: это с подзапросом... говорят это медленнее) А еще я слышал что юзается LEFT JOIN ;D
Код: #1054 - Unknown column 'longman' in 'where clause' UPDATE `pvpgn`.`record` SET `W3XP_solo_xp` = '1', `W3XP_solo_level` = '1', `W3XP_solo_rank` = '2', `W3XP_solo_losses` = '1', `W3XP_orcs_losses` = '3', `W3XP_solo_high_rank` = '2', `W3XP_w3pgrace` = '3' WHERE `record`.`uid` = ( SELECT `uid` FROM `bnet` WHERE acct_username = `longman` ) LIMIT 1
PS: Я же обращаюсь в базу из кода бота Ghost... Тоесть мне еще нужно указать в какую базу лезть, а не в ghost базе. Код: #1046 - No database selected UPDATE `pvpgn`.`record` SET `W3XP_solo_xp` = '1', `W3XP_solo_level` = '1', `W3XP_solo_rank` = '2', `W3XP_solo_losses` = '1', `W3XP_orcs_losses` = '3', `W3XP_solo_high_rank` = '2', `W3XP_w3pgrace` = '3' WHERE `record`.`uid` = ( SELECT `uid` FROM `bnet` WHERE acct_username = `longman` ) LIMIT 1
Все разобрался Код: UPDATE `pvpgn`.`record` SET `W3XP_solo_xp` = '1', `W3XP_solo_level` = '10', `W3XP_solo_rank` = '2', `W3XP_solo_losses` = '1', `W3XP_orcs_losses` = '3', `W3XP_solo_high_rank` = '2', `W3XP_w3pgrace` = '3' WHERE `record`.`uid` = (SELECT `uid` FROM `pvpgn`.`bnet` WHERE `acct_username` = 'longman') LIMIT 1 Спасибо жил)