首先,我是一个初学者,我很感谢你的帮助:)
当我插入一个字符串时,它会给我一个错误double或single引用。这个只有当我调用我创建的函数insert()时才会发生。但是当我用一个数字来代替那些没有引号的字符串时,它是有效的。在
import mysql.connector
conn = mysql.connector.connect(user="root",password='password',
host='localhost',database='library',port='3306')
cur = conn.cursor()
def create_table():
cur.execute("CREATE TABLE IF NOT EXISTS store
(id INT PRIMARY KEY, item VARCHAR(25), quantity INT, price REAL);")
conn.commit()
conn.close()
def insert(id, item, quantity, price):
cur.execute("INSERT INTO store (id, quantity, price, item)
VALUES (%s, %s, %s, %s)" % (id, item, quantity, price))
conn.commit()
conn.close()
insert(50, 'test', 20, 10)
然后它给出了一个错误:
^{pr2}$
您没有正确使用占位符功能。正确的行是:
注意
,
和不是%
,这会产生严重的{a1}。在您的查询被扩展到如下内容:
^{pr2}$其中
test
部分根本没有被引用,被视为可能的列名。在您混淆了insert语句中列的顺序,将“insert INTO store(id,quantity,price,item)”更改为“insert INTO store(id,item,quantity,price)”,注意名为item的列在哪里! 进口mysql.connector在
从MySQL
^{pr2}$相关问题 更多 >
编程相关推荐