![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
автокрименентное значение [D7, MySQL]
{Alex} © (2006-04-05 16:51:00)маленький такой вопросик:
Можно как нибуть получить автокрименентное значение поля,
т.е. значение которое бдет присвоено следующей записи, перед ее добавление в таблицу.
Используется MySQL&MDAC&Delphi
sniknik (2006-04-05 17:27:00) [41]> Все более-менее умные СУБД умеют это делать!
а глупые программисты этим пользуются...
вообщето приведенные примеры это способ узнать текущеее значение счетчика, а не значение которое будет записано... разница однако.
надо обьяснять почему опасен код типа (а приведенные варианты это его аналог)
select max(id)+1 as NextId from table1
insert into table1 (Field1) values ('xxxx')
действия ....
update table1 set Field2 = 'xxxx2' where id = NextId
т.е. с "закладкой" на расчетные/"предугаданные" данные, в многопользовательской системе?
(пример на одну таблицу, для простоты, но обычно пытаются связки в нескольких по этому значению сделать... потом приходять и сдесь глупый вопрос "почему не работает?" задают).
Курдль (2006-04-05 17:07:00) [42]
> sniknik © (05.04.06 16:58) [1]
> нельзя. все ясновидческие предузнавания данных до их появления
> сбиваются на нет многопользовательской сущьностью sql серверов.
Счазззз!!!
Все более-менее умные СУБД умеют это делать!
select SEQUENCE_NAME.NEXTVAL from DUAL
select GET_IDENTITY(TABLE_NAME) from DUMMY
select Gen_ID(GeneratorName, Increment) не_помню_синтаксис_IB
Johnmen (2006-04-05 17:01:00) [43]Только по факту
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1143450402&n=1
sniknik (2006-04-05 16:58:00) [44]нельзя. все ясновидческие предузнавания данных до их появления сбиваются на нет многопользовательской сущьностью sql серверов.