SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.11.2011 14:18:10

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Обновить столбцы в разных строках в одном запросе UPDATE

Всем привет! Подскажите пожалуйста данная операция будет являться атомарной?
В общем обновляем столбцы data  в строках с id например 1 и 5 одним запросом:


UPDATE table a,table b SET a.data='newdata1',b.data='newdata2' WHERE a.id=1 and b.id=5;

Неактивен

 

#2 07.11.2011 14:32:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Обновить столбцы в разных строках в одном запросе UPDATE

MySQL должен залочить обе таблицы, выполнить операцию, а затем разлочить. Угрозы для синхронности данный запрос нести не должен.

Неактивен

 

#3 07.11.2011 14:48:52

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Обновить столбцы в разных строках в одном запросе UPDATE

это одна таблица InooDB

Неактивен

 

#4 07.11.2011 14:52:56

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Обновить столбцы в разных строках в одном запросе UPDATE

В любом случае должно работать корректно, если не работает, что это бага MySQL. Если функция для вас важна, придумайте как протестировать.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson