当我尝试使用python连接器将值插入mysql时,我遇到了问题。 问题是我试图将输入作为mysql中的值传递,但输入是作为表的名称而不是字段的值添加的。现在有人能告诉我,我做错了吗?
我的代码是:
import mysql.connector
from mysql.connector import errorcode
def main():
try:
connection= mysql.connector.connect(user='root',passwd='',host='localhost',port='3306', database='game_01')
print("Welcome")
name_of_char = input("Your name?: ")
con = connection.cursor()
con.execute("INSERT into charachter (name,intel,strenght,agil) values(%s,0,0,0)" % str(name_of_char))
con.execute("SELECT * FROM charachter")
for items in con:
print(items[1])
except mysql.connector.Error as err:
print(err)
else:
connection.close()
main()
感谢。
P.S 错误是:1054:'字段列表中的未知列'。我忘了在帖子中提到。似乎如果我输入tables属性,它将起作用但不会添加任何值。
答案 0 :(得分:3)
如果使用MySQLdb驱动程序,在执行插入数据库或更新的查询后,应使用connection.commit()完成保存操作。
试试这个:
con = connection.cursor()
con.execute("INSERT into `charachter` (`name`,`intel,`strenght`,`agil`) values('%s',0,0,0)" % str(name_of_char))
connection.commit()
如果您使用任何其他驱动程序,则应将auto_commit选项设置为true。