sqlite3.OperationalError:没有这样的列: - Python

时间:2018-01-31 12:15:03

标签: python sqlite

我正在尝试从输入到我的数据库中的Inserat。但得到错误:

  

sqlite3.OperationalError:没有这样的列:kundename

import sqlite3

conn = sqlite3.connect('datenbank.db')
print ("Opened database successfully")

kundenname= input("Kundename: ")
auftragstyp= input("Auftragstyp: ")
auftragsurl= input("Auftragsurl: ")
anzahl= input("Anzahl der Bewertungen: ")

conn.execute("INSERT INTO kundenname VALUES (kundename,auftragstyp,auftragsurl,anzahl)", (kundenname, auftragstyp,         auftragsurl,  anzahl))

conn.commit()
print ("Records created successfully")
conn.close()

但如果我这样做:

import sqlite3

conn = sqlite3.connect('datenbank.db')

print ("Opened database successfully")

conn = conn.execute("SELECT ID, kundename from kundenname")
for row in conn:
print ("ID = ", row[0])
print ("kundename = ", row[1])
print ("Operation done successfully")
conn.close()

然后它工作并向我显示基地中的数据。但为什么插入说colum dosent excist?

非常感谢!

2 个答案:

答案 0 :(得分:-1)

解释器抱怨你使用不带引号的字符串。它在insert语句中将它们解释为变量名。试试这个:

conn.execute("INSERT INTO kundenname ('kundename','auftragstyp','auftragsurl','anzahl') VALUES (kundenname, auftragstyp,  auftragsurl,  anzahl)")

答案 1 :(得分:-1)

我认为你对这一行有疑问:

Futura Extra Black Condensed BT

这不是插入方式,请尝试:

conn.execute("INSERT INTO kundenname VALUES 
(kundename,auftragstyp,auftragsurl,anzahl)", (kundenname, auftragstyp,         
auftragsurl,  anzahl))