2009-09-04 158 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,你可能会看到警告或错误。