Почему при записи строки в sqlite3 выдает ошибку, что я пытаюсь записать 93 значение в поля для 1? 93 — видимо это количество символов в строке.?
def write_in_DB(text: str):
connection = sqlite3.connect('bot_database.db')
cursor = connection.cursor()
text = str(''.join(text))
print(text)
cursor.execute("""
CREATE TABLE IF NOT EXISTS messages(
id INTEGER PRIMARY KEY AUTOINCREMENT,
message TEXT NOT NULL
)
""")
cursor.execute("INSERT INTO messages(message) VALUES (?)", ('text'))
connection.commit()
connection.close()
Ошибка:
cursor.execute("INSERT INTO messages(message) VALUES (?)", ('text'))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied.
Исправил код, но теперь выдает другую ошибку: cursor.execute("INSERT INTO messages (message) VALUES (?)", ({text},))
sqlite3.ProgrammingError: Error binding parameter 1: type 'set' is not supported
Сам код:
connection = sqlite3.connect('bot_database.db')
cursor = connection.cursor()
text = str(''.join(text))
print(text)
cursor.execute("""
CREATE TABLE IF NOT EXISTS messages(
id INTEGER PRIMARY KEY AUTOINCREMENT,
message TEXT NOT NULL
)
""")
cursor.execute("INSERT INTO messages (message) VALUES (?)", ({text},))
connection.commit()
connection.close()