2009-09-04 201 views
0

任何人都可以看到將python元組/列表插入mysql數據庫的語法嗎? 我還需要知道,如果有可能的用戶通過某些行不插入任何東西...... 例如:一個函數返回這個元組:將元組插入到mysql數據庫

return job(jcardnum, jreg, jcarddate, jcardtime, jcardserve, jdeliver) 

假設用戶didnt在jreg 輸入任何東西會python本身輸入null到數據庫中的相關行或我會遇到麻煩?

+1

工作不是一個元組,它是一個函數。這個問題的信息太少,無法給出答案。 – Omnifarious 2009-09-05 01:02:55

回答

6

正如註釋所說,job(...)部分是一個函數(或類)調用 - 無論從該調用返回的是否也從此return語句返回。我們假設它是一個元組。如果「用戶沒有在jreg中輸入任何內容」,那麼會怎麼樣呢? - 那麼根據您沒有向我們顯示的很多代碼,這可能是運行時錯誤(名稱jreg未定義),空字符串或其他初始值默認值永不改變,或None;在後一種情況下,最終確實會在數據庫中成爲NULL(如果可以接受每個數據庫模式,當然 - 否則數據庫將拒絕插入嘗試)。

一旦你終於有一個正確和適當的元組T要插入,

`mycursor.execute('INSERT INTO sometable VALUES(?, ?, ?, ?, ?, ?)', T) 

將是接近你想要的語法 - 如果T有六個項目(和sometable有六個列,當然)。每個?是一個佔位符,並被替換爲相應的項目。 mycursor將需要光標的一個實例,通過一些早期的呼叫可能獲得myconnection.cursor其中myconnection是連接的情況下,通過適當的呼叫通過與您的權利argumentrs使用DB API模塊內置到connect

如果您向我們展示大約100倍以上的代碼和數據庫架構,並準確告訴我們您正在努力完成什麼,那麼我們集體來說無疑會更加有用和具體 - 但是基於子架構,您提供的信息量與我們共同所能提供的數量相當;-)。

+1

+1對於一個部分提出並且大部分猜測的問題的完美答案。 – 2009-09-05 01:53:38

+0

是啊!很好的回答! :) – 2012-04-06 14:18:07

0

也許,cursor.executemany是你需要的嗎?

假設用戶didnt在DB進入jreg任何 將Python本身進入空 到相關的行或 ,我會運行到麻煩嗎?

我認爲你應該試試,如果不允許NULL,你可能會看到警告或錯誤。