Как исправить ошибку вставки в базу данных sql с помощью pymssql - PullRequest
0 голосов
/ 07 сентября 2018

Я пишу функцию, которая сохраняет твиты, извлеченные с помощью твипа в Python, в базу данных (SQL-сервер). Я написал следующий код для вставки в базу данных SQL

 conn = pymssql.connect(host,user,passwd,DB)
cursor = conn.cursor()


def insertTweet(user,text,image):
    query = "INSERT INTO [TWEETS].[dbo].[TWEET_INFO] ] 
    (username,text,image_url,approved)\
    values (user, text, image, 0)"
    cursor.execute(query)

Это очень простая функция, которая не должна выдавать ошибку, но я получаю сообщение о том, что текст является недопустимым именем столбца. :

Traceback (most recent call last):
File "db_connect.py", line 35, in <module>
insertTweet(user,text,image)
File "db_connect.py", line 19, in insertTweet
cursor.execute(query)
File "src\pymssql.pyx", line 465, in pymssql.Cursor.execute
pymssql.ProgrammingError: (207, b"Invalid column name 'text'.DB-Lib error 
messag
e 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL 
Ser
ver\nDB-Lib error message 20018, severity 16:\nGeneral SQL Server error: 
Check m
essages from the SQL Server\n")

Ниже приведена структура БД:

SELECT TOP 1000 [Id]
  ,[username]
  ,[text]
  ,[image_url]
  ,[approved]
  FROM [TWEETS].[dbo].[TWEET_INFO]

Я не уверен, как это выяснить. Я могу добавить, вручную запустив запрос в sql studio

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте сделать это так,
Предполагая, что conn это ваше соединение с БД

query = ("INSERT INTO  billed_items(item_name,billed_qty,price,item_bill_series) VALUES(%s,%s,%s,%s)")
c.execute(query,((name),(no),(price),(series))
conn.commit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...