Вот пишу плаген к одной CMS (не важно) необходимо сделать изменения в 2 разных таблицах вот делаю 2 запроса :
первый:
UPDATE `user` SET pole=pole+1, pole_x=pole_x+1 WHERE id_u=1
Второй:
UPDATE `mediakontent` SET col=col+1 WHERE id_m=19
Все путем работает .. а как этти запросы Объединить в один ????
Php mY Admin выдал такой код (линк [Создать PHP-код]):
$sql = ' UPDATE `user` SET pole=pole+1, pole_x=pole_x+1 WHERE id_u=1; # Затронутые ряды:1'
. ' # Затронутые ряды:1'
. ' UPDATE `mediakontent` SET col=col+1 WHERE id_m=19 ; # Затронутые ряды:1'
. ' ';
И этот код не работает ... не какие изменения в БД не происходят ..... Почему ? Как правильно составить запрос ? Ведь по одиночке то они выполняються ....
Спустя 55 минут, 25 секунд (18.04.2010 - 12:31) vagrand написал(а):
Потому что тут не один запрос, а 2-а разделенные символом ";".
Функция mysql_query() не умеет выполнять сразу несколько запросегов.
Функция mysql_query() не умеет выполнять сразу несколько запросегов.
Спустя 8 минут, 21 секунда (18.04.2010 - 12:40) Svist написал(а):
vagrand
Тоесть выйти из положения и уменьшить количество запрсов тут не как не получиться ??
Ладно..... Такой вопрос :
в запросе pole, и pole_x являються Числовыми:
А к примеру если там еще есть поле txt текст... возможно ли сложение текста ... т.е. мне надо из переменной дописать в конец поля.. ну кпримеру :
Но по такому принципу не хочет работать ..... Такое можно ли как нибуть провернуть ?
За ранее спасибо !
Тоесть выйти из положения и уменьшить количество запрсов тут не как не получиться ??

Ладно..... Такой вопрос :
в запросе pole, и pole_x являються Числовыми:
UPDATE `user` SET pole=pole+1, pole_x=pole_x+1 WHERE id_u=1
А к примеру если там еще есть поле txt текст... возможно ли сложение текста ... т.е. мне надо из переменной дописать в конец поля.. ну кпримеру :
UPDATE `user` SET pole=pole+1, pole_x=pole_x+1, txt=txt+$my_text WHERE id_u=1
Но по такому принципу не хочет работать ..... Такое можно ли как нибуть провернуть ?
За ранее спасибо !
Спустя 1 час, 9 минут, 32 секунды (18.04.2010 - 13:49) Self написал(а):
UPDATE `user` SET `pole` = `pole` + 1, `pole_x` = `pole_x`+1,
`txt` = CONCAT(`txt`+ ' мой текст') WHERE `id_u` = 1;
Спустя 58 минут, 5 секунд (18.04.2010 - 14:47) vagrand написал(а):
Self
Без символа "+"
Без символа "+"
Цитата |
vagrand Тоесть выйти из положения и уменьшить количество запрсов тут не как не получиться ?? |
Если бы записи в таблицах users и mediakontent можно было бы связать между собой и апнуть по одному условию where, то тогда можно было бы апдейт мультитабличный написать, а так вроде как не выйдет.
Спустя 5 минут, 18 секунд (18.04.2010 - 14:52) Svist написал(а):
Self,vagrand
Спасибо !!!! Попробую !!!!
З.Ы.
vagrand
А можешь написать простой Пример мультитабличного апдейта (не для моих таблиц а вообще) ??? самый простой какой нибуть с общим условием .. ....
Спасибо !!!! Попробую !!!!
З.Ы.
vagrand
А можешь написать простой Пример мультитабличного апдейта (не для моих таблиц а вообще) ??? самый простой какой нибуть с общим условием .. ....
Спустя 4 минуты, 9 секунд (18.04.2010 - 14:57) Self написал(а):
Да запятая там
описался.
`txt` = CONCAT(`txt`, ' мой текст')
описался.

Спустя 30 минут, 58 секунд (18.04.2010 - 15:28) vagrand написал(а):
Цитата |
А можешь написать простой Пример мультитабличного апдейта (не для моих таблиц а вообще) ??? самый простой какой нибуть с общим условием .. .... |
UPDATE table1, table2 SET table1.some_field = 'some_value', table2.some_field = 'some_value'
WHERE table1.id = table2.tabe1_id and table1.some_field = 'some_value';
Спустя 15 минут, 44 секунды (18.04.2010 - 15:43) Svist написал(а):
vagrand
СПАСИБО !!!!!
Чесно говоря не думал что можно объединять в UPDATE так же как и в SELECT....
СПАСИБО !!!!!
Чесно говоря не думал что можно объединять в UPDATE так же как и в SELECT....

Спустя 19 минут, 56 секунд (18.04.2010 - 16:03) vagrand написал(а):
В апдейте и подзапросы можно делать. Кури мануал