MySQL :: Multiple table update (LIMIT)

9 отговора 523 прегледа
#1

MySQL :: Multiple table update (LIMIT)

Както е написано тук: [линк]

"Note: You cannot use ORDER BY or LIMIT with multiple-table UPDATE."

Въпросът ми е защо? Каква е разликата дали таблиците са 1 или 100? Така или иначе, даден набор от редове съвпада с WHERE клаузата - каква е причината да не мога да кажа на MySQL да промени само 1 запис?

И съответно как да си реализирам UPDATE върху няколко таблици с някакъв LIMIT с "конвенционални" средства?

Everything louder than everything else...
Отговор
в отговор на Dakota #2

Re: MySQL :: Multiple table update (LIMIT)

Дай конкретен пример какво искаш да правиш.

Отговор
в отговор на _danitu #3

Re: MySQL :: Multiple table update (LIMIT)

Искам да направя UPDATE на едно поле в дадена таблица, въз основа на критерии, които зависят от други 5 таблици. Стандартният подход обаче:

"SELECT ... UPDATE"

не ми върши работа, защото искам да направя нещо като ръчен locking на това, което съм select-нал. А в горния случай е възможно 2 клиента едновременно да са между SELECT и UPDATE. Така че съм си реализирал нещата с цикъл do...while (!mysql_affected_rows()) - само дето е дървено. Искам да знам защо е забранен UPDATE и LIMIT в контекста на много таблици.

Everything louder than everything else...
Отговор
в отговор на Dakota #4

Re: MySQL :: Multiple table update (LIMIT)

Ами отправи им официално запитване :)

Отговор
в отговор на _danitu #5

official

Така де...тук уж се подвизаваше едно "официално лице"...

Everything louder than everything else...
Отговор
в отговор на Dakota #6

Re: official

То е в отпуск май

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на Dakota #7

Re: official или както му викат на ингилизки

Disclaimer:
В този форум няма "официални" лица. Вярно е, че работя за MySQL AB но не присъствам тук официално а за собствено удоволствие.

Официалният (съвсем сериозно) начин е да обясниш какво искаш на bugs.mysql.com като Feature Request

salle.online.bg/sig
Отговор
в отговор на salle #8

мдам

Мерси. Просто си питах, ако някой има инфо по въпроса.

Everything louder than everything else...
Отговор
в отговор на Dakota #9

Re: Виждам, че вече пробваш

[линк]

salle.online.bg/sig
Отговор
в отговор на salle #10

Re: Виждам, че вече пробваш

Дааа...то като се фиксне тоз бъг, ще се оправи и multiple limit-а....

Everything louder than everything else...
Отговор