Страница 1 из 1

Как узнать код последней добавленной записи в MYSQL

Добавлено: 28 Ноябрь 2005, 17:19
lsgsoftware
Еще один ламерский вопрос про MYSQL.Есть переменанная, по которой
строится PRIMARY KEY и объявленная как AUTO_INCREMENT в таблице MYSQL(конечно же не в кларионе).Можно ли сразу после добавления новой записи в таблицу узнать, какое значение этой переменной (уникальный primary-ключ) присвоил ей MYSQL.
Заранее благодарен

Получить макс значение поля

Добавлено: 28 Ноябрь 2005, 19:15
Михаил
Извините если неправильно, но так понимаю это автоинкремент
далаю так:
SET(ИмяТаблицы )
ИмяТаблицы {PROP:SQL}= 'SELECT MAX(ПолеКлюча) FROM ИмяТаблицы '
NEXT(Имятаблицы)
glo_IdNo = ПолеКлюча+1
Display

С уважением Михаил.

Re: Как узнать код последней добавленной записи в MYSQL

Добавлено: 28 Ноябрь 2005, 19:44
Lens
lsgsoftware писал(а):Еще один ламерский вопрос про MYSQL.Есть переменанная, по которой
строится PRIMARY KEY и объявленная как AUTO_INCREMENT в таблице MYSQL(конечно же не в кларионе).Можно ли сразу после добавления новой записи в таблицу узнать, какое значение этой переменной (уникальный primary-ключ) присвоил ей MYSQL.
Заранее благодарен
Наверное, стоит посмотреть функцию LAST_INSERT_ID()
http://dev.mysql.com/doc/refman/5.1/en/ ... ement.html

Добавлено: 29 Ноябрь 2005, 9:38
Игорь Столяров
Я делаю проще, и наверно правильней с точки зрения SQL сервера. Не добавляю запись на прямую из Клары, а вызываю хранимую процедуру, которой в качестве параметров передаю добавляемые данные. В процедуре идет элементарный анализ содержимого и добавление записи. При успешном добавлении - из процедуры возвращается в качестве ответного кода уникальный номер (или любой другой - на выбор) добавленной записи, а если запись не добавлена - ноль. Вот и все. Главное, что процессом добавления записей (анализ, фильтрация и т.д.) можно управлять не изменяя кода программы ... ;)

Добавлено: 29 Ноябрь 2005, 20:34
lsgsoftware
Большое спасибо за ответы и советы.Но по-моему самый удачный вариант Myfile{Prop:SQL}='set &myid=last_insert_id()'