Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 26, 2016 00:54:14

Emc2
Зарегистрирован: 2016-09-18
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как в SQLite реализовать AUTOINCREMENT

Здравствуйте.
Имею массивы данных. Нужно набить ими таблицы. Первое поле - ID с ключом AUTOINCREMENT. В mySQL было просто - в запросе INSERT INTO mytab (id, name, info) VALUES ('0', ‘xxx’, ‘xxx’) в ячейку ID ставил 0, а вставлялось что нужно.
Чёто не могу одолеть как в SQLite это дело реализовать.
Так как в букварях предлагают - сформировать сначала массив данных с правильными индексами и уже его вносить, так не хотелось бы. Как потом в песледующих обращениях? Считать id последней записи и исходя из этого готовить новый массив данных. Фигня.
Как сделать как в mySQL - кормить базу данными, а она сама присвоит уникальные id?
Подскажите пожалуйста.

Офлайн

#2 Ноя. 26, 2016 09:27:07

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

как в SQLite реализовать AUTOINCREMENT

 create table if not exists Books
 (
 BookID integer primary key autoincrement,
 BookTitle text not null,
 BookPrice real not null
 );
insert into books (BookID, BookTitle, BookPrice) values
(
 (NULL, 'The Hobbit', 154.0),
 (NULL,'The Fellowship of the Ring', 240.0)
);
так id автоматом присваивался

Отредактировано vic57 (Ноя. 26, 2016 09:33:09)

Офлайн

#3 Ноя. 26, 2016 11:25:56

Emc2
Зарегистрирован: 2016-09-18
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как в SQLite реализовать AUTOINCREMENT

Да, спасибо. Так работает.
Каким должен быть код, чтоб содержимое VALUES(NULL, ‘The Hobbit’, 154.0) заполнять переменными
title = ‘The Hobbit’
price = 154.0
VALUES(NULL, title, price) - так не работает
или

massiv = ((NULL,  'The Hobbit', '154.0'))
cursor.executemany("insert into books values(?,?,?)", massiv)
так тоже не получается

Сообразил.
massiv = ((None,  'The Hobbit', '154.0'))
cursor.executemany("insert into books values(?,?,?)", massiv)
Ещё раз спасибо за помощь.

Отредактировано Emc2 (Ноя. 26, 2016 11:34:54)

Офлайн

#4 Ноя. 26, 2016 11:40:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как в SQLite реализовать AUTOINCREMENT

Это вообще то форум по питону!



Офлайн

#5 Ноя. 26, 2016 12:38:50

Emc2
Зарегистрирован: 2016-09-18
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как в SQLite реализовать AUTOINCREMENT

Ну не сердитесь.
Вроде для новичков и приблуда-то Питоновская. Вы б по сути вопроса подсказали. Вам пару слов, а мне хрен знает где у добрых людей помощи просить :-)

Офлайн

#6 Ноя. 28, 2016 23:25:04

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

как в SQLite реализовать AUTOINCREMENT

FishHook
Это вообще то форум по питону!

Извините, но что, по вашему есть питон?

- строки/списки/срезы - как в куче “хаутушек” в инете?
- знание туевой хучи сторонних модулей на все случаи жизни - как гордятся крутые питонисты?

Странно все это, вот есть PEP 249 - он, по вашему, питон или не питон?

Emc2
Сам то понял что пишешь? Если то поле считается само, так не пиши туда ничего!

insert into books ('text','real') values(?,?)

И в мускуле ты зря туда чтото писал, надо так:
INSERT INTO mytab (name, info) VALUES ( ‘xxx’, ‘xxx’)

Отредактировано Iskatel (Ноя. 28, 2016 23:27:53)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version