python与mysql项目实操,mysql-python
【开发笔记】MySQL Python的两次经历——李的长安城——一万年后,城将变黑,永不陷落.
【开发注意事项】MySQL Python的两点经验在最近的开发中,我遇到了两个奇怪的问题。将解决方案写在这里:
1.使用Python操作MySQL数据库时,如果插入的数据条目很多,那么逐个执行insert…into语句可能会导致连接错误。正确的做法是使用executemany(有点类似于JDBC的批处理操作):
t=( S11 ,1),( s21 ,2))
cursor=conn.cursor()
cursor . execute many( insert into table _ a(str _ column,int_column) values (%s,%d),T)
但是,执行这个程序会报告一个错误:
类型错误,应为int……
一开始我很疑惑,但是我发现executemany执行的sql语句中的所有变量都必须用% s的形式写。
t=( S11 ,1),( s21 ,2))
cursor=conn.cursor()
cursor . execute many( insert into table _ a(str _ column,int_column) values (%s,%s),T)
测试通过
2.两台机器,环境相同,一台使用MySQL 4.1.18,另一台使用MySQL 4.1.21。可以在4.1.18上正常运行的SQL语句在4.1.21上报告错误:
错误1030 (HY000):从存储引擎获得错误28
检查两台机器的存储引擎,没有发现问题;在网上搜索发现,这个问题的原因是没有足够的临时空间来执行这个SQL语句。
解决方法是清除/tmp目录,或者修改my.cnf中的tmpdir参数,指向一个有足够空间的目录。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。