![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование переменной внутри запроса. [D7, MySQL]
Leo © (2008-05-21 15:36:00)Есть таблица значений AutoInc для всех таблиц базы. База многопользовательская, поэтому для каждого клиента нужен уникальный ID. Соответственно запрос
lock tables `autoinc` write;
select `value` into @val from `autoinc` where `table` = 'table2';
SET @val = @val + 1;
UPDATE `autoinc`
SET `Value` = @val
WHERE `table` = 'table2'
LIMIT 1;
unlock tables;
select @val;
Выдает ошибку "Can not open s Resultset".
Локализовал проблему:
1. select `value` into @val from `autoinc` where `table` = 'table2';
2. select @val;
Та же ошибка, но когда выполняешь шаг 1, а затем шаг 2 по-отдельности, все ок.
MySql работает под WinXP. Пробовал под Линухом - все ок, работает.
Может кто-то сталкивался (думаю что-то в настройках).
Leo (2008-05-24 14:00:00) [1]
> А нафига LIMIT?
Работает и без него, как вариант поле table проиндексить с unigue
Ega23 (2008-05-23 19:03:00) [2]А нафига LIMIT?
Leo (2008-05-23 17:45:00) [3]Поставил вместо heidisql 3.0 -heidisql 3.2, заработало.