Подскажите что я делаю не так?
UPDATE `tableA` SET `best`=1 WHERE `id` IN (SELECT `id` FROM `tableA` WHERE `price`>5 AND `delete`=0 ORDER BY RAND()) LIMIT 10
Выдает ошибку:
UPDATE `tableA` SET `best`=1 WHERE `id` IN (SELECT `id` FROM `tableA` WHERE `price`>5 AND `delete`=0 ORDER BY RAND()) LIMIT 10
Цитата |
You can't specify target table 'tableA' for update in FROM clause |
Цитата |
LIMIT ни к тому запросу |
UPDATE `tableA` SET `best`=1 WHERE `id` IN (SELECT `id` FROM `tableA` WHERE `price`>5 AND `delete`=0 ORDER BY RAND() LIMIT 10)
Цитата |
You can't specify target table 'tableA' for update |
UPDATE table_A SET id_level = ROWNUM
WHERE id_level IN (SELECT id_level FROM table_A GROUP BY id_level)
Цитата (vasa_c @ 23.09.2010 - 15:19) |
во-первых, LIMIT ни к тому запросу, ... |
UPDATE `tableA` SET `best`=1 WHERE `price`>5 AND `delete`=0 ORDER BY RAND() LIMIT 10
update xtabele as x inner join xtable as x1 on x.id=x1.id
set x.pole=.... , x.pole2= ....
where .........