我正在尝试从输入到我的数据库中的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?
非常感谢!
答案 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))