- DEFAULT
- memory
SQLite in-memory field with DEFAULT value
examples/sqlite/sql_defaults.py
import sqlite3 def create_table(conn, crs): sql = ''' CREATE TABLE qa ( question TEXT, answer TEXT DEFAULT "42" ); ''' try: crs.execute(sql) except sqlite3.OperationalError as err: print(f'sqlite error: {err.args[0]}') # table companies already exists conn.commit() def insert_qa(conn, crs, question, answer): sql = 'INSERT INTO qa (question, answer) VALUES (?, ?)' try: crs.execute(sql, (question, answer)) except sqlite3.IntegrityError as err: print('sqlite error: ', err.args[0]) conn.commit() def insert_q(conn, crs, question): sql = 'INSERT INTO qa (question) VALUES (?)' try: crs.execute(sql, (question,)) except sqlite3.IntegrityError as err: print('sqlite error: ', err.args[0]) conn.commit() def list_rows(conn, crs): sql = "SELECT * FROM qa" for question, answer in crs.execute(sql): print(f"{question} - {answer}") print("------") def main(): conn = sqlite3.connect(":memory:") crs = conn.cursor() create_table(conn, crs) insert_qa(conn, crs, "Language?", "Python") list_rows(conn, crs) insert_qa(conn, crs, "Database?", "SQLite") list_rows(conn, crs) insert_q(conn, crs, "Meaning of life?") list_rows(conn, crs) conn.close() print('done') main()