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




MySQL.RU - Webboard



Вернуться
Where Not Exists (Max) 21/04/2004 - 20:45:06
      Re: Where Not Exists (Dinky) 22/04/2004 - 00:00:12
      Re: Where Not Exists (heikoa) 05/05/2010 - 11:39:40
      Re: Where Not Exists (iZet) 04/10/2010 - 12:20:55
      Re: Where Not Exists (iZet) 04/10/2010 - 12:22:42



From: Max - 21/04/2004 - 20:45:06
Subject:Where Not Exists
-----------------
Привет!

Есть таблица ActiveCells (ID int). Процессы работают с элементами, записывая в эту таблицу номер элемента с которым они работают
Задача состоит в том, чтобы одним запросом заменить существующее значение в таблице на новое, причем новое значение не должно находиться в колонке ID. И это надо сделать одним запросом, потому что процессы работают параллельно, а транзакций в MySQL вроде нет... И блокировки тоже нежелательны - хочется элегантного решения :)

Делаю так:
UPDATE ActiveCells SET ID=newID WHERE NOT EXISTS (SELECT * FROM ActiveCells WHERE ID=newID) AND ID=oldID

Говорит, что ошибка синтаксиса (1064) где-то около EXISTS.
Смотрел в help из дистрибутива, конструкция EXISTS поддерживается.

В чем грабли?

MySQL 4.0.18 Win32




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

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

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



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