V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
shenxj
V2EX  ›  Python

pymysql 求助

  •  
  •   shenxj · 2019-01-08 17:27:53 +08:00 · 2027 次点击
    这是一个创建于 2145 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 pymysql 对数据库进行迁移,从一个库插入数据到另一个库,一个表里大概有 7000 多条数据,运行第一次会失败,第二次或者第三次运行可能会成功,多运行几次可能会成功也可能失败,原表数据没有动过,而且每次报错都是不同的错,有时候说是格式错误,有时候说是 sql 语法错误,有大佬知道是什么原因吗?
    错误 1:pymysql.err.InternalError: (1292, "172.21.12.110:3336/GW_DB_TEST_0001 | Incorrect datetime value: '2013-�4-20 13:44:10' for column 'UPDATE_DATE' at row 30") ---表里的时间字段是没有问题的,有时候插入到几百行的时候报错,有时候在插入几千行的时候报错
    错误 2:You have an error in your SQL syntax; check sql syntax error --也会不知道在第几条数据的时候报错
    求助啊!!
    第 1 条附言  ·  2019-01-09 16:22:54 +08:00
    是把 oracle 库的数据迁移到 mysql,今天重启了电脑和 pycharm,试了好几遍都可以。。。。。谁知道是什么原因吗??
    8 条回复    2019-01-09 09:21:26 +08:00
    wlzd
        1
    wlzd  
       2019-01-08 17:39:50 +08:00
    如果还我处理,在不知道 bug 时候我会吧 pymsql 换成 mysqlclient 再来测试一次,如果都出错,那是我迁移有问题,那就换方法迁移或者排错
    xpresslink
        2
    xpresslink  
       2019-01-08 18:41:41 +08:00
    建议你直接从源库用数据库的导出功能直接导出 SQL 文件,再到目标库创建相同数据结构直接用 SQL 文件导入,然后在目标库里用 sql 直接来处理。

    如果有非常逻辑复杂的预处理,那么直接用 python 生成适合目标库的 sql 批插入 sql 文件,在目标库用 sql 文件导入。
    这样每步都可控好排错。
    guog
        3
    guog  
       2019-01-08 18:58:46 +08:00 via Android
    随缘 debug 吗?打 log 或者设置断点
    andylsr
        4
    andylsr  
       2019-01-08 20:30:59 +08:00 via Android
    编码问题?
    arthasgxy
        5
    arthasgxy  
       2019-01-08 20:50:55 +08:00
    不建议用 pymysql 做迁移。
    宁可用 bash 写,莫用 pymysql (个人经历)
    没记错的话,各种编码坑,各种带不带引号有坑,各种因为字段内容需要转义有坑。
    neoblackcap
        6
    neoblackcap  
       2019-01-09 01:08:19 +08:00
    迁移的话,percona-xtrabackup 考虑一下
    limbo0
        7
    limbo0  
       2019-01-09 01:55:16 +08:00 via Android
    才 7000 多个,拿出 txt 直接拼 sql 了
    a226679594
        8
    a226679594  
       2019-01-09 09:21:26 +08:00
    percona-xtrabackup 考虑一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2872 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:52 · PVG 14:52 · LAX 22:52 · JFK 01:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.