#python #sql #sqlite
#python #sql #sqlite
Вопрос:
Итак, я пытаюсь добавить переменную (строку) в другую переменную (таблицу). Мой код выглядит так:
tableName = '123456789'
testVariable = 'test'
c.execute('INSERT INTO ' tableName ' (testColumn) VALUES (' testVariable ')')
conn.commit()
Но по какой-то причине это выдает мне эту ошибку
c.execute('INSERT INTO ' tableName ' (testColumn) VALUES (' testVariable ')')
sqlite3.OperationalError: near "123456789": syntax error
Что мне делать?
Комментарии:
1. вы пропустили кавычки вокруг строки .. в команде sql
2. Вам не хватает ваших заполнителей, которые вы должны использовать? затем заголовок, в который вы хотите вставить.
Ответ №1:
c.execute("INSERT INTO ? (testColumn) VALUES (?)", (tableName, testVariable))
Комментарии:
1. Теперь это выдает мне эту ошибку:
sqlite3.OperationalError: near "%": syntax error
Ответ №2:
Попробуйте это…
c.execute('''INSERT INTO 123456789(testColumn) VALUES(?)''', (testVariable))
Ответ №3:
Хорошо, мне удалось исправить это самостоятельно. Мне пришлось добавить одинарные кавычки в начало и конец переменных, а затем использовать это: c.execute("INSERT INTO {} (testColumn) VALUES ({})".format(tableName, testVariable))
Спасибо за ответы!