python与mysql项目实操,mysql-python

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: