谁能告诉我把python元组/列表插入到mysql数据库中的语法?我还需要知道用户是否有可能在不插入任何内容的情况下传递某些行...例如:一个函数返回这个元组:
return job(jcardnum, jreg, jcarddate, jcardtime, jcardserve, jdeliver)假设用户没有在jreg中输入任何内容,python本身会在数据库中的相关行中输入null,还是会遇到麻烦?
发布于 2009-09-05 01:49:55
正如注释所说,job(...)部分是一个函数(或类)调用--从该调用中返回的任何内容都将从该return语句中返回。
让我们假设它是一个元组。如果“用户没有在jreg中输入任何内容”--那么,根据您没有向我们展示的许多代码,这可能是运行时错误(未定义名称jreg )、空字符串或其他从未更改过的初始默认值,或者是None;在后一种情况下,它最终确实会成为数据库中的NULL (当然,如果数据库模式可以接受的话--否则,数据库将拒绝插入尝试)。
一旦您最终拥有了想要插入的正确且适当的元组T,
`mycursor.execute('INSERT INTO sometable VALUES(?, ?, ?, ?, ?, ?)', T)将非常接近您想要的语法--如果T有6个项目(当然,sometable有6列)。每个?都是一个占位符,并被替换为相应的项。mycursor需要是游标的一个实例,大概是通过前面对myconnection.cursor的调用获得的,其中myconnection是Connection的一个实例,它是通过使用正确的参数从DB模块正确调用connect来构建的。
如果您向我们展示了大约100倍的代码和DB模式,并确切地告诉我们您想要实现什么,那么我们,总的来说,无疑会更加有用和具体--但基于您提供的亚埃信息量,这几乎是我们所能提供的全部;-)。
发布于 2009-09-05 13:02:55
也许,cursor.executemany就是你所需要的?
假设用户没有在
中输入任何内容,python本身是否会在数据库中的相关行中输入null,或者我会遇到麻烦?
我认为你应该试一下,你可能会看到警告或错误,如果NULL是不允许的。
https://stackoverflow.com/questions/1381840
复制相似问题