Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
4-42257
Julliete
2003-08-14 11:20
2003.11.13
Запуск приложений.


14-41906
jab~
2003-10-21 14:29
2003.11.13
Поиск в TStringList, но не просто find, а с частичным совпадением


1-41608
Данила
2003-10-26 21:12
2003.11.13
Отловить запуск excel/word/access


6-41841
LiViD
2003-09-12 19:27
2003.11.13
Прием/посылка файловых потоков через сокетное соединение.


1-41560
Layner
2003-10-27 15:06
2003.11.13
У кого есть ф-я сохранения-чтения StringGrid в txt файл




   Наверх