Главная страница
    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.044 c
3-41053
NewD
2003-10-24 11:49
2003.11.13
При попытке добавить запись вылетает ошибка.


14-41940
fool
2003-10-20 17:08
2003.11.13
MSSQL 7.0: непонятные тормоза


1-41471
Delphi5.01
2003-10-27 17:56
2003.11.13
Ошибка принтера


1-41223
Oleg_
2003-10-29 15:55
2003.11.13
рисунок в webbrowser


14-42038
Brahman
2003-10-16 10:36
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский