Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.21;
Скачать: CL | DM;

Вниз

Использование переменной внутри запроса.   Найти похожие ветки 

 
Leo ©   (2008-05-21 15:36) [0]

Есть таблица значений 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-23 17:45) [1]

Поставил вместо heidisql 3.0 -heidisql 3.2, заработало.


 
Ega23 ©   (2008-05-23 19:03) [2]

А нафига LIMIT?


 
Leo ©   (2008-05-24 14:00) [3]


> А нафига LIMIT?

Работает и без него, как вариант поле table проиндексить с unigue



Страницы: 1 вся ветка

Текущий архив: 2008.12.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
2-1226172821
Надуев Алексей
2008-11-08 22:33
2008.12.21
WebBrowser


15-1224652490
Риппер
2008-10-22 09:14
2008.12.21
The instruction at "0x77f5d61b" referenced memory at "0x00000010"


15-1224581575
Студенты
2008-10-21 13:32
2008.12.21
Dbgrid, как повернуть 90 ?


2-1226327058
Andrey_ka
2008-11-10 17:24
2008.12.21
работа с памятью


15-1224036802
Slider007
2008-10-15 06:13
2008.12.21
С днем рождения ! 15 октября 2008 среда