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

2014-04-13 09:46:15 +08:00
 Mac
以前一直利用HEIDISQL的CSV导入到一个普通表,很顺畅

现在由于工作需要重新做了一个有外键约束的表。导入CSV时,如果开着外键审核就报错,如果关掉,导入的数据又无法做到关联。有没有什么其他工具能确保数据关联性的啊?
6324 次点击
所在节点    MySQL
7 条回复
tain198127
2014-04-13 11:22:53 +08:00
首先,你的表是有外键约束的,所以表明外键的表是必须存在的,如果你导入的CSV本身就缺少外键数据的话,那就证明你的数据是不完整的。那么现在的问题不是找什么工具,而是要找齐你的数据。
当数据完整后,才是考虑工具的时候。
Mac
2014-04-13 15:14:24 +08:00
@tain198127 如果外键关联了a.a=b.a,那在a.a等于1已经存在的时候,我仅仅在csv里往b.a里插入数值1是做不到关联的?那csv里的纯数据文本是否就不合适用于导入有外键约束的数据了?
wangyongbo
2014-04-13 17:19:28 +08:00
如果是mysql 到 mysql的话,还算用mysqldump 来导出数据吧。所有的关系都会导出的。
dongbeta
2014-04-13 17:52:48 +08:00
可以写程序来导入,在程序中保证外键。
Mac
2014-04-13 21:52:55 +08:00
@wangyongbo 不是备份和还原或者同步的事情。我是想利用csv快速录入数据到一个有外键约束的表。但实际操作上感觉csv的导入机制是无法用在有外键的表上的。
skingtree
2014-04-14 13:58:52 +08:00
先把约束drop了 导入数据后再重建
Mac
2014-04-28 11:11:16 +08:00
找到问题关键了,NULL值,外键约束的字段里有默认NULL值的,而CSV里的空白导致了无法关联。犯了个极其幼稚的错误,NULL<>BLANK。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108342

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX