ADODB + PostgreSQL + Insert_ID()

Статус
В этой теме нельзя размещать новые ответы.

kvf77

Red Devil
ADODB + PostgreSQL + Insert_ID()

Команда Insert_ID(); выдает полную чушь. Как добиться от нее правильного результата?
 

YRusinov

Филин Ух
Что-именно выдает команда ? Как-то трудно понять проблему без куска кода и/или фрагмента вывода.
 

kvf77

Red Devil
Автор оригинала: YRusinov
Что-именно выдает команда ? Как-то трудно понять проблему без куска кода и/или фрагмента вывода.
Зачем тебе кусок кода? Если ты знаком с классом ADODB то он тебе не нужен. Был INSERT надо получить его ID, что и делает команда указанная выше. Вот она выдает огромное число 17000 чего-то там.

-~{}~ 12.10.04 10:57:

Щас вот нарыл вот это: PostgreSQL returns the OID, which can change on a database reload.
А что такое этот OID? и в какое место его применять?
 

fixxxer

К.О.
Партнер клуба
В PostgreSQL лучше использовать не OID (они не обязательно уникальны), а последовательности (sequence). Об этом всем написано в FAQ.
В случае с ADODB, видимо, логично будет добавить в класс пару методов для работы с последовательностями.

-~{}~ 12.10.04 14:19:

Вдогонку.
Если правильно использовать DEFAULT nextval('some_seq') / DEFAULT currval('some_seq'), то в большинстве случаев вообще отпадает необходимость в "Был INSERT надо получить его ID".
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
RTFFAQ.

Если AdoDB не поддерживает работу с SEQUENCE'ами --- фтопку AdoDB.
 

Макс

Старожил PHPClub
adodb поддерживает работу с сиквенсами. Просто не insert_id() использовать надо, а genID().
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху