zoukankan      html  css  js  c++  java
  • mysql插入数据报错一二

      上周selenium+phantomjs+python3简单爬取一个网站,往数据库写数据遇到以下两个问题,记录一下:  

      报错一:Data truncated for column 'update_time' at row 1

      抓网站英文版的时候,因为一个标题太长报错,title字段类型为varchar默认的255,改为2048或者按照实际改小一点。问题解决。

      报错二:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

      虽然上面改了,在同一处还是报错,现在错误是“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AGREEMENT AMONG THE SHAREHOLDERS OF MEDIA EAGLE LIMITED; AND (2) DISCLOSEABLE TR' at line 1”原始insert语句如下:

    sql = "REPLACE INTO crawl_record (`type`, `title`, `create_time`, `update_time`) VALUES ('%s', '%s', '%s', '%s')"

      near后面的一串是要被插入的标题,可见这个标题不仅长,里面还有特殊字符。sql语句使用的单引号,是无效的,改为双引号,改为双引号,最好每个字段用英文下的波浪线``包起来,以免字段设置了关键字。sql改为:

    sql = 'REPLACE INTO crawl_record (`type`, `title`, `create_time`, `update_time`) VALUES ("%s", "%s", "%s", "%s")'

      爬取数据,存储数据,各种坑。爬取的时候一定要先一页页的爬取没问题后,再翻页批量爬取,此时可能还会有坑;存数据的时候,一定按标准书写sql,若爬取重要数据,众多数据,数据库表设计一定要让公式DB过一下,降低各种无厘头的错误~

  • 相关阅读:
    随想13:论“善”字
    Nginx做前端Proxy时TIME_WAIT过多的问题
    HTTP的长连接和短连接
    nginx长连接的问题
    Tomcat性能参数设置
    Nginx1.1.4+ 对后端机器的长连接特性
    HTTP长连接200万尝试及调优方法
    NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64
    CRtmpServer转推流到Nginx Rtmp及SRS(SimpleRtmpServer)的经历
    rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)
  • 原文地址:https://www.cnblogs.com/NolaLi/p/10893072.html
Copyright © 2011-2022 走看看