|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
37546
|
|