2013-07-16 36 views
0

我试图插入值使用Python MySQL,但代码不能正常工作,它返回一个空白页&写在数据库表中没有值到MySQL,请帮我无法插入值,使用python

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() 
+2

请修复您的缩进。另外,这是你正在运行的整个代码?如果是,'python'和'success'变量没有被定义 - 所以,代码根本不起作用。另外,如果你使用'with',你不需要在里面调用'close()'。 – alecxe

+0

是的,这是我正在运行的整个代码,我是新的python,请先生你能告诉我一个简单的例子 – user2501866

+0

你知道每个INSERT'语句正在创建一个新的行,只有一列填充,以及该行中所有其他列的默认值?那真的是你想要的吗? – Barmar

回答

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前):

cur.execute("INSERT INTO test VALUES('234','566789','rohan','rajesh','78979','Maths','25','50','75','P')") 

希望有所帮助。

+0

问题编辑先生,尝试过,但仍然没有输出 – user2501866

+0

请修复您的'连接'线,因为我已经做了。你如何检查没有插入数据? – alecxe

+0

我编辑了答案,检查'UPD'。 – alecxe

0

您的Python字符串必须与正常的MySQL语句完全相同,因此一个好主意是尝试在MySQL提示符下执行它以查看它返回的内容。没有指定字段,例如

INSERT INTO FOO VALUES (4, 5, 6) 

代替

INSERT INTO FOO (X, Y, Z) VALUES (4, 5, 6) 

将在顺序插入值的它们在表中定义(如使用DESCRIBE命令示出),但通常不情况下,例如该布局的一个好主意表格发生变化。

您需要确保您的所有字符串都有开始和结束的引号 - 您的566789字符串不在您提供的示例中。你也传递了什么似乎是整数作为字符串。如果它们在表格中定义为整数,则需要删除引号。

希望这会有所帮助。