2013-07-16 37 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字符串不在您提供的示例中。你也傳遞了什麼似乎是整數作爲字符串。如果它們在表格中定義爲整數,則需要刪除引號。

希望這會有所幫助。