我正在尝试使用python向mysql插入值,但代码无效,它返回一个空白页面&没有写在数据库表中的值,请帮帮我
import MySQLdb as mdb
con = mdb.connect('localhost', 'python', '123456', 'python');
cur = con.cursor()
cur.execute("INSERT INTO test VALUES('234','566789','rohan','rajesh','78979','Maths','25','50','75','P')")
cur.commit()
cur.close()
con.close()
答案 0 :(得分:0)
请改为尝试:
import MySQLdb as mdb
con = mdb.connect(host='localhost', user='python', passwd='123456', db='python');
cur = con.cursor()
cur.execute("INSERT INTO test(ecode) VALUES('Manoj')")
cur.execute("INSERT INTO test(htno) VALUES('Manoj')")
cur.execute("INSERT INTO test(name) VALUES('Manoj')")
cur.execute("INSERT INTO test(fathername) VALUES('Manoj')")
cur.execute("INSERT INTO test(subcode) VALUES('Manoj')")
cur.execute("INSERT INTO test(subject) VALUES('Manoj')")
cur.execute("INSERT INTO test(internals) VALUES('Manoj')")
cur.execute("INSERT INTO test(externals) VALUES('Manoj')")
cur.execute("INSERT INTO test(total) VALUES('Manoj')")
cur.execute("INSERT INTO test(result) VALUES('Manoj')")
cur.commit()
cursor.close()
con.close()
有几个问题:
python
变量success
变量MySQLdb
但是,我不明白为什么你需要在不同的字段中插入Manoj
值的行。
UPD,你的sql语法有错误(在566789
之前缺少引号char):
cur.execute("INSERT INTO test VALUES('234','566789','rohan','rajesh','78979','Maths','25','50','75','P')")
希望有所帮助。
答案 1 :(得分:0)
你的Python字符串必须与普通的MySQL语句完全一样,所以一个好主意是尝试在MySQL提示符下执行它以查看它返回的内容。没有指定字段,例如
INSERT INTO FOO VALUES (4, 5, 6)
而不是
INSERT INTO FOO (X, Y, Z) VALUES (4, 5, 6)
将按照表中定义的顺序插入值(如使用DESCRIBE
命令所示),但通常不是一个好主意,例如表的布局会发生变化。
您需要确保所有字符串都有开始和结束引号 - 您的566789
字符串不在您给出的示例中。你也传递看似整数的字符串。如果它们在表格中定义为整数,则需要删除引号。
希望这有帮助。