SELECT `id`
from `content`
WHERE `flag` = '1' LIMIT 1
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '*id из предыдущего запроса*'
UPDATE `menu` SET
`flag` = '1'
WHERE `id` = '*id из первого запроса*'
Видел где-то реализацию, но сейчас немого найти.

заранее спасибо!
Спустя 5 минут, 59 секунд (12.03.2010 - 17:52) DedMorozzz написал(а):
UPDATE `menu` SET
`flag` = '1'
WHERE `id` = '(SELECT `id`
from `content`
WHERE `flag` = '1' LIMIT 1)'
как-то так
Спустя 3 минуты, 47 секунд (12.03.2010 - 17:56) Регент написал(а):
Цитата (DedMorozzz @ 12.03.2010 - 14:52) |
<pre class="sh_sourceCode" rel="sql"><span class="sh_keyword">UPDATE</span> <span class="sh_att">`menu`</span> <span class="sh_type">SET</span> <span class="sh_att">`flag`</span> <span class="sh_symbol">=</span> <span class="sh_string">'1'</span> <span class="sh_keyword">WHERE</span> <span class="sh_att">`id`</span> <span class="sh_symbol">=</span> <span class="sh_string">'(SELECT `id` from `content` WHERE `flag` = '</span><span class="sh_number">1</span><span class="sh_string">' LIMIT 1)'</span></pre> как-то так |
Пробовал, плюётся:
Цитата |
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' LIMIT 1)'' at line 3 |
ЗЫ:
и как объединить эти 3 запроса в один?
Спустя 3 минуты, 50 секунд (12.03.2010 - 18:00) DedMorozzz написал(а):
3 никак. ты не можешь апдейтить таблицу выбирая условие из обновляемой таблицы
2 - надо помудрить, а 3 - никак.
2 - надо помудрить, а 3 - никак.
Спустя 3 минуты, 10 секунд (12.03.2010 - 18:03) Регент написал(а):
Цитата (DedMorozzz @ 12.03.2010 - 15:00) |
3 никак. ты не можешь апдейтить таблицу выбирая условие из обновляемой таблицы 2 - надо помудрить, а 3 - никак. |
жалко что 3 не получится, но не критично. Но хотя бы 2е реализовать чтобы лишний раз не обращаться к базе из скрипта.
Ладно, а положим объединить
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '1'
и
UPDATE `menu` SET
`flag` = '1'
WHERE `id` = '1'
както можно?
Спустя 8 минут, 32 секунды (12.03.2010 - 18:11) DedMorozzz написал(а):
UPDATE `menu`,`content` SET
`menu`.`flag` = '1',`contentcontent`.`flag`='1'
WHERE `content`.`id` =$id_query_1 AND `menu`.`id`=$id_query_1
Спустя 2 минуты, 6 секунд (12.03.2010 - 18:13) Регент написал(а):
спасибо.
Спустя 4 минуты, 14 секунд (12.03.2010 - 18:18) Регент написал(а):
Сори и ещё вопрос, а как объединить
и
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '1'
и
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '2'
Спустя 4 минуты, 44 секунды (12.03.2010 - 18:22) DedMorozzz написал(а):
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '1' OR `id`='2'
Спустя 3 минуты, 46 секунд (12.03.2010 - 18:26) Регент написал(а):
немного не так выразился значения `flag` будут различные. Чтото вида:
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '1'
UPDATE `content` SET
`flag` = '2'
WHERE `id` = '2'
Спустя 19 минут, 5 секунд (12.03.2010 - 18:45) DedMorozzz написал(а):
у тя 1й запрос обновления идёт таким образом. Изменить поле "флаг"на "значение", где айди = 1. Нельзя дать разные ЗНАЧЕНИЯ на изменение. Это и есть разные запросы.
Спустя 1 час, 9 минут, 13 секунд (12.03.2010 - 19:55) Регент написал(а):
Двойка мне... 
только что дошло такая простая вещь, что проще в скрипте писать сразу 2 запроса чем их объединять...
Ещё раз спасибо!

только что дошло такая простая вещь, что проще в скрипте писать сразу 2 запроса чем их объединять...
$query = "
UPDATE `content` SET
`flag` = '1'
WHERE `id` = '1';
UPDATE `content` SET
`flag` = '2'
WHERE `id` = '2'
" ;
$result = mysql_query($query) or die("Ошибка базы в запросе 12 строка 50 : " . mysql_error());
Ещё раз спасибо!
Спустя 16 минут, 43 секунды (12.03.2010 - 20:11) Adil написал(а):
чую что ты разочаруешься..

Спустя 14 часов, 29 минут, 13 секунд (13.03.2010 - 10:40) Регент написал(а):
К сожалению так и получилось... В phpmyadmin этот запрос выполняется на ура. вставляю в скрипт и начинает ругаться на синтаксис.
Что делаю не так? В какую сторону копать?
Что делаю не так? В какую сторону копать?
Спустя 2 дня, 3 часа, 34 минуты, 13 секунд (15.03.2010 - 14:15) AHDPEu написал(а):
Пробуй запрос с UNION
Спустя 38 минут, 41 секунда (15.03.2010 - 14:53) DedMorozzz написал(а):
Интересно, что ты этим хотел сказать? Может решение данного примера продемонстрируешь?
Спустя 48 минут, 2 секунды (15.03.2010 - 15:41) Nikitian написал(а):
Цитата (AHDPEu @ 15.03.2010 - 11:15) |
Пробуй запрос с UNION |
UNION только для SELECT'ов
_____________