|
Тема
|
MySql update ?
|
|
Автор |
edembg (Ученик) |
Публикувано | 09.05.04 19:59 |
|
Здравейте.
Имам сленият въпрос:
трябва да направя update на няколко запиза в една таблица
update mytable set a=1, b=2 where id=5
update mytable set a=3, b=9 where id=9
......................
Въпросът ми е може ли да стане това само с една заявка.
Четох денели книги, но не успях да разбера.
Моля някой да кайе. Ще съм много благодарен.
И най-ярките личности си плащат тока.
| |
Тема
|
Re: MySql update ?
[re: edembg]
|
|
Автор |
NDeu (динозавър) |
Публикувано | 10.05.04 09:01 |
|
Зависи
Каква е връзката между a=1, b=2 where id=5 и a=3, b=9 where id=9.
Ако са стойности, които се определят от някое отношение, тогава трябва да опишеш това отношение. Ако са само хрумки на усера - няма начин
| |
Тема
|
Re: MySql update ?
[re: NDeu]
|
|
Автор |
edembg (Ученик) |
Публикувано | 10.05.04 09:26 |
|
За съжаление няма никаква логическа връзка между стойностите.
Благодаря
И най-ярките личности си плащат тока.
| |
Тема
|
Re: MySql update ?
[re: edembg]
|
|
Автор |
salle (един такъв) |
Публикувано | 10.05.04 22:56 |
|
> За съжаление няма никаква логическа връзка между
> стойностите.
С което (за съжаление) си отговаряш сам на въпроса.
В логиката на SQL нещата се подреждат като
UPDATE ... WHERE ...
демек: ПРОМЕНИ това и това КЪДЕТО ето тези умозаключения имат (логически) смисъл
Като се върнем много стъпки назад нещата в Релационните Бази Данни са дефинирани посредством теория на множествата. И сътовтетно:
UPDATE таблица SET ... WHERE ....
се превежда като:
Зададено е множество ТаблицаХ
За тези членове (редове) от множеството ТаблицаX за които е вярно WHERE клаузата от твойта заявка
Да се изпълни UPDATE ...
Ха сега си помисли как с такава терминология можеш да формулираш правило (WHERE ...), което да обхване всички членове на множеството, които те интересуват обаче "нямат никаква логическа връзка ..."
С две думи ако си в състояние да формулираш правило според което можеш да посочиш едновременно всички тези редове дето "нямат никаква логическа връзка ..." то тогава отговорът е, че може.
Само, че това ти си го знаеш.
Което пък измества въпроса към
"А как адщеба да го ....?"
и изобщо може ли?
Може пък да може! Опитай се да го обясниш на какъвто и да е език. Ако има начин да го направиш сигурно има начин и да се "преведе" на SQL
| |
Тема
|
Re: MySql update ?
[re: salle]
|
|
Автор |
ro6avia (ламерясал) |
Публикувано | 11.05.04 10:23 |
|
salle, понеже същата тема се дискутира (за малко) в PHP, та да ти подскажа за какво става дума. Момчето иска да направи
$query = "
UPDATE blabla set 1;
UPDATE blabla set 2;
UPDATE blabla set 3;
UPDATE blabla set .....;
";
mysql_query($query);
Т.е. от php да пусне на 1 път няколко заявки. До колкото си спомням това можеше до php 4.0.6 (или 3.х) или нещо от сорта , но го поспряха защото ....
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
| |
|
|
|
|