简体   繁体   中英

sqlite3.OperationalError: no such column: - Python

I am trying to Inserat something from Input into my Database. But getting the Error:

sqlite3.OperationalError: no such column: 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()

But if I make like:

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

then it works and Shows me the Datas in the Base. But why insert saying the colum dosent excist?

Thank you very much!

The interpreter is complaining about your using unquoted strings. It's interpreting them as variable names in your insert statement. Try this:

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

I think you have a problem with this line:

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

This is not the way to insert, try this:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM