Python将数据插入MySQL

时间:2014-12-15 23:01:00

标签: python mysql

当我尝试使用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属性,它将起作用但不会添加任何值。

1 个答案:

答案 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。

看到这个: How can I insert data into a MySQL database?