Sql Запрос
5 replies170 viewsCurrently viewing: 1
· 09/09/2009, 10:41 AM
вот запрос :
CODE
UPDATE `characters` SET `accesslevel` = '-100' WHERE `obj_Id` (SELECT FROM `characters` WHERE `level` > 70 AND `onlinetime` < 20000);
немогу построить запрос, кто может исправьте его, буду благодарен.
0
· 09/09/2009, 12:05 PM
Для чего вообще такое извращенство, которое мускуль даже не поддерживает?
Если обновить нужно записи из той-же таблицы где и условия, составляем всё напрямую.
— Life is boring.
0
· 09/09/2009, 12:32 PM
CODE
UPDATE `characters` SET `accesslevel` = '-100' WHERE `obj_Id` in (SELECT FROM `characters` WHERE `level` > 70 AND `onlinetime` < 20000);
но вообще "Insane" прав.
0
· 09/09/2009, 12:39 PM
MySql не выполняет запросы, когда и условие и действие находятся в одной таблице.
+ Вы не верно составили.
QUOTE
UPDATE `characters` SET `accesslevel` = '-100' WHERE `obj_Id` in (SELECT `obj_Id` FROM `characters` WHERE `level` > 70 AND `onlinetime` < 20000);
Результат выведется такой:
CODE
[b]ERROR 1093 : You can't specify target table 'characters' for update in FROM clause[/b]
Правильный запрос по прежнему:
— Life is boring.
0
Topic is closed for replies



