› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
Mac
V2EX  ›  MySQL

如何方便的向一个有外键约束的表导入数据

  •  
  •   Mac · Apr 13, 2014 · 7620 views
    This topic created in 4549 days ago, the information mentioned may be changed or developed.
    以前一直利用HEIDISQL的CSV导入到一个普通表,很顺畅

    现在由于工作需要重新做了一个有外键约束的表。导入CSV时,如果开着外键审核就报错,如果关掉,导入的数据又无法做到关联。有没有什么其他工具能确保数据关联性的啊?
    7 replies  •  1970-01-01 08:00:00 +08:00
    tain198127
        1
    tain198127  
       Apr 13, 2014   ❤️ 1
    首先,你的表是有外键约束的,所以表明外键的表是必须存在的,如果你导入的CSV本身就缺少外键数据的话,那就证明你的数据是不完整的。那么现在的问题不是找什么工具,而是要找齐你的数据。
    当数据完整后,才是考虑工具的时候。
    Mac
        2
    Mac  
    OP
       Apr 13, 2014
    @tain198127 如果外键关联了a.a=b.a,那在a.a等于1已经存在的时候,我仅仅在csv里往b.a里插入数值1是做不到关联的?那csv里的纯数据文本是否就不合适用于导入有外键约束的数据了?
    wangyongbo
        3
    wangyongbo  
       Apr 13, 2014
    如果是mysql 到 mysql的话,还算用mysqldump 来导出数据吧。所有的关系都会导出的。
    dongbeta
        4
    dongbeta  
       Apr 13, 2014
    可以写程序来导入,在程序中保证外键。
    Mac
        5
    Mac  
    OP
       Apr 13, 2014
    @wangyongbo 不是备份和还原或者同步的事情。我是想利用csv快速录入数据到一个有外键约束的表。但实际操作上感觉csv的导入机制是无法用在有外键的表上的。
    skingtree
        6
    skingtree  
       Apr 14, 2014
    先把约束drop了 导入数据后再重建
    Mac
        7
    Mac  
    OP
       Apr 28, 2014
    找到问题关键了,NULL值,外键约束的字段里有默认NULL值的,而CSV里的空白导致了无法关联。犯了个极其幼稚的错误,NULL<>BLANK。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1209 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 17:24 · PVG 01:24 · LAX 10:24 · JFK 13:24
    ♥ Do have faith in what you're doing.