Сообщение Re[3]: SELECT и UPDATE одним запросом от 14.12.2017 15:51
Изменено 14.12.2017 15:54 VladCore
Re[3]: SELECT и UPDATE одним запросом
V>Я пытаюсь так
V>
На вид этот update ничего кроме кол-ва обновленных строк не вернет.
Вам правильно посоветовали Select ... For Update;
MySQL умеет Select For Update — конкурентные читатели первого Select будут ждать пока не отработает второй Update:
пробовали?
V>
V>UPDATE links SET post='1' WHERE url in
V>(SELECT url FROM links WHERE post = '0' AND keywords = 'key');
V>
На вид этот update ничего кроме кол-ва обновленных строк не вернет.
Вам правильно посоветовали Select ... For Update;
MySQL умеет Select For Update — конкурентные читатели первого Select будут ждать пока не отработает второй Update:
SELECT url FROM links WHERE post = '0' AND keywords = 'key' for update;
UPDATE links SET post='1' WHERE keywords = 'key';
пробовали?
Re[3]: SELECT и UPDATE одним запросом
V>Я пытаюсь так
V>
На вид этот update ничего кроме кол-ва обновленных строк не вернет.
Вам правильно посоветовали Select ... For Update;
MySQL умеет Select For Update — конкурентные читатели первого Select будут ждать пока не отработает второй Update:
пробовали?
V>
V>UPDATE links SET post='1' WHERE url in
V>(SELECT url FROM links WHERE post = '0' AND keywords = 'key');
V>
На вид этот update ничего кроме кол-ва обновленных строк не вернет.
Вам правильно посоветовали Select ... For Update;
MySQL умеет Select For Update — конкурентные читатели первого Select будут ждать пока не отработает второй Update:
START TRANSACTION;
SELECT url FROM links WHERE post = '0' AND keywords = 'key' for update;
UPDATE links SET post='1' WHERE keywords = 'key';
COMMIT;
пробовали?