У меня есть таблица в базе там id, name, age, как можно обратиться последнему добавленному в эту таблицу id Я использую sqlite
Asked
Active
Viewed 357 times
3 Answers
1
Чтобы получить всю строку с максимальным id:
select * from table_name order by id desc limit 1;
В Python:
con = sql.connect('data_per.db')
cur = con.cursor()
cur.execute("create table if not exists users(id integer primary key autoincrement, name varchar(100))")
cur.execute("insert into users(name) values ('john'), ('max')")
con.commit()
чтобы получить максимальный id:
cur.execute('SELECT MAX(id) FROM users')
row = cur.fetchone()
max_i = row[0]
print(max_i)
# 2
чтобы получить всю строку с максимальным id:
cur.execute("""select * from users order by id desc limit 1""")
row = cur.fetchone()
print(row)
# (2, 'max')
MaxU - stand with Ukraine
- 149,321
- 12
- 59
- 132
1
Получить максимальный id:
SELECT MAX(`id`) FROM table_name;
GrAnd
- 13,501
-
con = sql.connect('data_per.db') cur = con.cursor() max_i = cur.execute('SELECT MAX(id) FROM users;') print(max_i)Выводит вот это <sqlite3.Cursor object at 0x000001A45248AB20> – Tesla Nov 15 '21 at 09:52
1
Если вы хотите получить последнюю добавленную запись, то следует написать такой запрос:
select id, name, age from table
where id = (select max(id) from table)
dtroyan
- 405
- 2
- 7
-
А как в переменную записать этот результат, потому он выдает <sqlite3.Cursor object at 0x000001AF225CAAB0> – Tesla Nov 15 '21 at 10:00
-
-
id. Может у вас только одна строка в таблице? – MaxU - stand with Ukraine Nov 15 '21 at 10:07