Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Множественное обновление таблицы (Евгений) 04/01/2014 - 20:08:10
      Re: ... обменяю национальность на две судимости (Akina) 04/01/2014 - 22:33:43
      Re: ... обменяю национальность на две судимости (Евгений) 04/01/2014 - 23:17:18
      Re: Методика? есть её у нас... (Akina) 04/01/2014 - 23:46:43
      Re: Методика? есть её у нас... (Евгений) 05/01/2014 - 01:22:33
      Re: Методика? есть её у нас... (Akina) 05/01/2014 - 19:23:23
      Re: Обидно... (Евгений) 05/01/2014 - 20:02:05
      Re: Какой вопрос - такой и ответ. (Akina) 05/01/2014 - 23:25:58
      Re: Какой вопрос - такой и ответ. (Евгений) 06/01/2014 - 17:29:48
      Re: Какой вопрос - такой и ответ. (Akina) 06/01/2014 - 22:38:32

> Original message text:
> From: Евгений - 04/01/2014 - 20:08:10
> Subject:Множественное обновление таблицы
> -----------------
> Здравствуйте! Нужно произвести обновление многих записей одной таблицы. Когда производил это средствами цикла PHP выходило долго и порой не все данные обновлялись.
> Нашел информацию по множественному обновлению одним запросом, сформировал запрос, но данные вообще не обновляются (хоть и запрос выполняется без ошибок).
> Возможно вы натолкнете меня на правильный путь?
>
> Вот код запроса который я формировал:
> UPDATE users SET d2l_rep=CASE WHEN steam_id=76561198100699401 THEN 15 WHEN steam_id=76561198038877638 THEN 18 WHEN steam_id=76561198086741170 THEN 15 WHEN steam_id=76561198083334299 THEN 12 WHEN steam_id=76561198005564667 THEN 13 WHEN steam_id=76561198042284011 THEN 14 WHEN steam_id=76561198094077697 THEN 18 WHEN steam_id=76561198087150269 THEN 11 WHEN steam_id=76561198052823224 THEN 12 WHEN steam_id=76561198107634397 THEN 19 WHEN steam_id=76561198075534649 THEN 10 WHEN steam_id=76561198073823177 THEN 17 WHEN steam_id=76561198033238142 THEN 14 WHEN steam_id=76561197961571210 THEN 16 WHEN steam_id=76561198071119379 THEN 13 WHEN steam_id=76561198052609240 THEN 15 WHEN steam_id=76561198092766371 THEN 12 WHEN steam_id=76561198090268919 THEN 7 WHEN steam_id=76561198108217513 THEN 12 END WHERE steam_id IN (76561198100699401, 76561198038877638, 76561198086741170, 76561198083334299, 76561198005564667, 76561198042284011, 76561198094077697, 76561198087150269, 76561198052823224, 76561198107634397, 76561198075534649, 76561198073823177, 76561198033238142, 76561197961571210, 76561198071119379, 76561198052609240, 76561198092766371, 76561198090268919, 76561198108217513)
>


From: Евгений - 04/01/2014 - 23:17:18
Subject:... обменяю национальность на две судимости
-----------------
Классная тема сообщения у вас =)
Я пытался выполнить этот же запрос непосредственно в phpmyadmin хостера, в результате получал Affected rows: 0 Без каких либо сообщений про ошибки.
Что касается того текста что вы процитировали, да, есть такое дело что пропускает некоторые записи, я считал что это из-за цикла. Учитывая что все запросы абсолютно однотипны, не думал что проблема может быть именно в запросе.
Все что хотел узнать/уточнить правильность моего подхода и возможные правки в этой конструкции.
И есть где либо статьи по поводу вашей ПРАВИЛЬНОЙ методики?

Чтобы пролить больше света на ситуацию, изложим ситуацию так:
есть массив (РНР) вида ключ=>значение
Нужно найти запись в которой поле steam_id равно ключу массива
И заменить в этой записи поле d2l_rep на значение этого ключа.

Спасибо за ответ кстати, с праздниками вас!


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
42992



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |