Вниз
Скачать: 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.025 c
11-41124
Maxim Pushkar
2003-02-13 01:00
2003.11.13
Проблемы с конвертацией дат и NewFileStream


1-41209
slivka
2003-11-01 22:02
2003.11.13
Как открыть ключь реестра при помощи переменной ?


4-42304
-AGGRESSOR-
2003-09-04 18:51
2003.11.13
Open Directory


4-42230
off
2003-08-28 10:42
2003.11.13
Определение размера папки.


14-42098
ER456
2003-10-22 15:02
2003.11.13
Мобильный интернет




   Наверх