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

Вниз

INSERT и значение поля auto_increment   Найти похожие ветки 

 
ZA ©   (2003-10-17 07:41) [0]

Вопрос несколько не по Delphi, но по SQL.

Имею простенькую таблицу (MySQL) вида
id int(11) NOT NULL auto_increment,
name varchar(32) NOT NULL default "",
PRIMARY KEY (id)
...

Добавляю запись из TQuery (да в общем не важно откуда)
INSERT INTO table (name) VALUES (:name);
Все. А дальше мне нужно использовать в Delphi значение поля id, которое создано автоматически сервером БД. Где это значение взять?
Сейчас организую запрос SELECT на последнюю запись. Но мне кажется такой путь очень кривым, поскольку, пока я буду организовывать запрос, вдруг кто-то из других клиентов добавит свою запиь и я получу неверный результат. Может есть прямой способ?
Спасибо.


 
DenK_vrtz ©   (2003-10-17 08:09) [1]

Написать процедуру, в которой будет вставляться запись, а выходным параметром будет новое значение ID.
Хотя, как мне кажется (не работал с MySQL), у автоинкремента должно быть нечто вроде свойства "текущее значение", могу ошибаться.


 
ZA ©   (2003-10-17 09:06) [2]

> Написать процедуру, в которой будет вставляться запись, а
> выходным параметром будет новое значение ID.
Именно этого я и хочу. Нельзя ли подробнее описать как это сделать. В SQL я пока слаб, можно это сделать в одном запросе?


 
DenK_vrtz ©   (2003-10-17 09:18) [3]

http://soft.org.ua/docs/mysql/ru/example-AUTO_INCREMENT.html


 
Johnmen ©   (2003-10-17 09:22) [4]

>ZA ©

Последнее значение АИ, которое было определено для твоего инсерта, получить корректно и однозначно невозможно. Процедур в MySQL нет. И много чего еще.


 
DenK_vrtz ©   (2003-10-17 09:26) [5]

Johnmen ©, серьезно процедур в MySQL нет?
А как же без них?


 
asp ©   (2003-10-17 09:27) [6]

Вставил запись и ищи её по NAME.


 
Johnmen ©   (2003-10-17 09:34) [7]

>DenK_vrtz © (17.10.03 09:26)

Тут уж кто как может...:)


 
DenK_vrtz ©   (2003-10-17 09:37) [8]

Johnmen ©, понял, спасибо :)


 
Johnmen ©   (2003-10-17 09:43) [9]

>DenK_vrtz © (17.10.03 09:37)

На всякий случай уточню - нет хранимых процедур.
А то еще пользователи MySQL подумают о UDF :)


 
Andriy Tysh ©   (2003-10-17 10:43) [10]

В MS SQL - @@IDENTITY


 
ZA ©   (2003-10-20 13:44) [11]

Благодарю за обсуждение и ссылки. Спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
3-41006
AleksDan
2003-10-27 01:12
2003.11.13
Вопрос по SQL


3-40902
SergeyNew
2003-10-20 12:15
2003.11.13
отчет в dll


1-41537
Brenton
2003-10-28 04:52
2003.11.13
Проблема с копированием файлов... помогите пожалуйста


3-40958
GSV_
2003-10-17 08:31
2003.11.13
Специалистам по Oacle. Вопрос про snapshot


3-40888
User_OKA
2003-10-17 06:40
2003.11.13
Создание тригера.