Не удается добавить переменную в таблицу

#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))

Спасибо за ответы!