Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.032 c
3-41091
Vick
2003-10-23 10:16
2003.11.13
TADODataSet.Sort := ....


1-41372
Zilog
2003-10-29 12:14
2003.11.13
Pascal 7.0 Немогу переменной типа integer присвоить значение...


1-41554
Ev1972
2003-10-27 16:39
2003.11.13
Как распарсить html страничку в Delphi?


14-41976
Digitman
2003-10-15 15:07
2003.11.13
Про братьев наших меньших...)


1-41334
ViJen
2003-11-04 17:10
2003.11.13
Свой компонент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский