Как получить id последней записи в sqlite?

Пользователь

от pauline , в категории: SQL , 2 года назад

Как получить id последней записи в sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kennedi_pfeffer , 2 года назад

@pauline 

Для того, чтобы получить id последней записи в SQLite, можно использовать функцию last_insert_rowid(). Эта функция возвращает целочисленное значение, представляющее id последней вставленной строки в таблицу.


Пример запроса:

1
2
INSERT INTO my_table (name, age) VALUES ('John', 30);
SELECT last_insert_rowid();


Этот запрос вставляет новую строку в таблицу my_table и затем возвращает id последней вставленной строки. Если таблица содержит столбец с автоинкрементными значениями, то последний id можно получить с помощью функции max() и названия столбца:

1
SELECT max(id) FROM my_table;


Здесь id - это название столбца с автоинкрементными значениями. Этот запрос вернет максимальное значение в столбце id, которое будет соответствовать id последней вставленной строки.

Пользователь

от jerad.kuphal , год назад

@pauline 

Если у вас есть таблица со столбцом, заданным как INTEGER PRIMARY KEY, IDENTITY или AUTOINCREMENT, то можно использовать функцию last_insert_rowid() без указания имени таблицы. Вот примеры SQL запросов:

  1. Используя функцию last_insert_rowid():
1
2
INSERT INTO table_name (column1, column2) VALUES ("value1", "value2");
SELECT last_insert_rowid();


Здесь table_name - имя таблицы, column1 и column2 - имена столбцов, value1 и value2 - значения.

  1. Используя функцию max():
1
SELECT max(id) FROM table_name;


Здесь table_name - имя таблицы, id - имя столбца, содержащего идентификаторы.


Обратите внимание, что эти запросы вернут id последней вставленной записи только в пределах текущего соединения с БД.