我想如下插入在sqlite3的DB的 表值列:Python的SQLITE3没有这样的列非常奇怪的错误
c.execute("""CREATE TABLE IF NOT EXISTS keys(name TEXT, po TEXT, options TEXT, identifier TEXT, currtime TEXT)""")
c.execute('INSERT INTO keys VALUES (' + Customer_Name + ' , ' + Purchase_Order + ' , ' + options + ' , ' + UUID + ' , ' + currtime + ')')
这些论点实际上是由HTML前端通过。我将它们从Unicode转换为字符串,如下所示:
options = str(request.form.get("Software_Options"))
UUID = str(request.form.get("UUID_Identifier"))
Customer_Name = str(request.form.get("Customer_Name"))
Purchase_Order = str(request.form.get("Purchase_Order"))
currtime= str(datetime.datetime.now())[:10]
如果是整数,则没有错误。 如果输入是一个字符串(例如joseph),它会给出以下错误。任何想法为什么?
OperationalError: no such column: joseph
您是否尝试过使用其他SQL插入语法,在哪里指定列名称? (INSERT INTO TABLE_NAME)(column1,column2,column3,... columnN) VALUES(value1,value2,value3,... valueN);' – danidee
是我试过了, c.execute('INSERT INTO keys(CustomerName,PurshaceOrder ,'GeneratedKey','CurrentTime')VALUES('+ Customer_Name +','+ Purchase_Order +','+ Generated_Key +','+ currtime +')') 仍然给出错误 –