我遇到了一些问题,而且很可能是一些非常愚蠢的事情,我错过了,我觉得这里的事情很糟糕但是如果你们可以提供帮助,那将是很好的继承人我的代码
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost", "testuser", "123", "test")
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Prepare SQL query to INSERT a record into the database.
number = 300
number1 = 5001
sql = "INSERT INTO PARTS (PART_NUMBER) VALUES (%d)"
try:
number = 300
# Execute the SQL command
cursor.execute(sql,(number,))
# Commit your changes in the database
db.commit()
print("Updated!")
except db.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
# Rollback in case there is any error
db.rollback()
print("was rolled back")
# disconnect
db.close()
我运行后没有任何问题,但它没有出现在我的数据库中,当回想起数据时,没有人可以告诉我为什么? 谢谢你的时间。
答案 0 :(得分:3)
您应始终使用%s
,即使是数字。
sql = "INSERT INTO PARTS (PART_NUMBER) VALUES (%s)"
点击此处的第一个示例:http://mysql-python.sourceforge.net/MySQLdb.html#some-examples。它使用%s
到max_price
变量,这是一个int。
引用链接:
在这个例子中,max_price = 5为什么在字符串中使用%s?因为MySQLdb会将其转换为SQL文字值,即字符串'5'。当它完成后,查询实际上会说“......价格<5”。