我试图用下面的脚本填充我的数据库,它根本不运行查询,而是直接转到except并打印错误消息。有人能找出insertGuest()函数的问题吗:
for i in range (100):
addGuest = "INSERT INTO hotel_guests VALUES (\"%d\", \"%s\"%s \"%s\")", (int(i), "Name"+str(i),"gender"+str(i))
try:
mycursor.execute(addGuest)
conn.commit()
print ("10000 Guests Successfully Inserted")
except:
conn.rollback()
print ("An error occurred")
我也希望数据,特别是名称有意义,但如果我能得到随机字符串,那就必须这样做。在
谢谢 夏天
SQL中的字符值是单引号的,数字没有引号。您正在尝试的Python字符串格式化需要在字符串和参数元组之间使用“
%
”。所以你可以改成这样:也就是说,为了清晰起见,最好使用
str.format()
和命名参数。见https://docs.python.org/2/library/string.html#format-string-syntax您可能还希望改进
^{pr2}$except
中的错误报告。您可以将其替换为:(这假设您使用
import MySQLdb as mdb
导入MySQLdb,否则请相应地调整mdb
名称。)相关问题 更多 >
编程相关推荐