有人能告诉我将python元组/列表插入mysql数据库的语法吗? 我还需要知道用户是否可以在不插入任何内容的情况下传递某些行... 例如:函数返回此元组:
return job(jcardnum, jreg, jcarddate, jcardtime, jcardserve, jdeliver)
假设用户未在jreg
中输入任何内容
python本身会在数据库中的相关行中输入null,还是会遇到麻烦?
答案 0 :(得分:6)
正如评论所说,job(...)
部分是函数(或类)调用 - 从该调用返回的任何内容也会从此return
语句返回。
让我们假设它是一个元组。如果“用户没有在jreg
中输入任何内容” - 那么,根据您未向我们展示的大量代码,这可能是运行时错误(名称jreg
未定义),空字符串或其他初始默认值从未改变,或None
;在后一种情况下,最终会成为DB中的NULL
(如果DB模式可接受,当然 - 否则,DB会拒绝插入尝试)。
一旦你最终得到了一个你要插入的正确和正确的元组T
,
`mycursor.execute('INSERT INTO sometable VALUES(?, ?, ?, ?, ?, ?)', T)
将接近您想要的语法 - 如果T
有六个项目(当然sometable
有六列)。每个?
都是占位符,并替换为相应的项目。 mycursor
将需要是Cursor的一个实例,可能是通过之前的myconnection.cursor
调用获得的,其中myconnection
是Connection的一个实例,通过正确调用connect
来构建您使用正确的参数的DB API模块。
如果你向我们展示大约100倍的代码和数据库模式并告诉我们你想要完成什么,我们总的来说,毫无疑问会更有用和具体 - 但是基于sub-epsilon你提供的信息量与我们总体而言可以提供的信息差不多; - )。
答案 1 :(得分:0)
也许,你需要cursor.executemany吗?
假设用户没有输入任何内容 在jreg中,python本身会输入null 进入DB或中的相关行 我会遇到麻烦吗?
我认为您应该尝试,如果不允许NULL,您可能会看到警告或错误。