Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 14, 2022 12:43:27

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3

Приветствую! подскажите плз на простом примере как указывается в Sqlite3 при создании таблицы программно AUTOINCREMENT? что-то никак не срабатывает…

cur.execute("""CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL AUTOINCREMENT,
name TEXT NOT NULL,
pass TEXT NOT NULL,
revision INT, PRIMARY KEY(id))
""")

Офлайн

#2 Окт. 14, 2022 12:54:06

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3


 CREATE TABLE people (
   person_id INTEGER PRIMARY KEY AUTOINCREMENT,
   first_name text NOT NULL,
   last_name text NOT NULL
);

НО
“SQLite recommends that you should not use AUTOINCREMENT attribute because:

The AUTOINCREMENT keyword imposes extra CPU, memory, disk space, and disk I/O overhead and should be avoided if not strictly needed. It is usually not needed.”

Так что правильней будет

 CREATE TABLE IF NOT EXISTS room(room_id INTEGER PRIMARY KEY, name VARCHAR(25) NOT NULL, home_id VARCHAR(25) NOT NULL);



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Окт. 14, 2022 13:52:20

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3

ZerG
SQLite recommends that you should not use AUTOINCREMENT

как-то странно.. ведь если в ручную добавлять таблицу через DB Browser там есть такая возможность, соответственно как-то программно тоже должна быть такая возможность.. или сама БД не имеет никакого отношения к Sqlite3?

Офлайн

#4 Окт. 14, 2022 14:12:44

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3

Вы с закрытыми глазами читали мой ответ? ПОпробуйте еще раз с открытыми.
Таблица people
Но автоинкремент не рекомендуют использовать



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Окт. 14, 2022 14:20:32

vsavelyev
Зарегистрирован: 2022-10-14
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3

Не в ту сторону посмотрел.. спасибо, получилось).. только проблема не в AUTOINCREMENT как оказалось…

id INT PRIMARY KEY AUTOINCREMENT - пробовал так - не работает..
id INTEGER PRIMARY KEY AUTOINCREMENT - так все завелось) почему-то INT не понравился

Офлайн

#6 Окт. 14, 2022 15:05:27

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

AUTOINCREMENT в Sqlite3

https://www.sqlite.org/datatype3.html



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version