我正在导入一个联系人的csv文件,其中一个父母有很多孩子,但它会将重复的值留空。我需要确保它们在到达数据库时已填充。
当我将.csv文件导入Perl然后导出到MySQL时,有没有办法实现以下功能?
if(value为null)
value =上面的值。
谢谢!
答案 0 :(得分:0)
没有进口声明afaik。但是,您可以使用触发器(http://dev.mysql.com/doc/refman/5.0/en/triggers.html)。但请记住,这会严重影响import语句的性能。
另外:如果它们是重复值,您应该仔细查看数据库模型或整体设置。
答案 1 :(得分:0)
为什么不将从CSV文件中读取的各个值放入数组(例如@FIELD_DATA)。然后,当您在迭代一行时遇到空字段(例如,对于第4列),您可以编写
除非(长度($ CSV_FIELD [4])){ $ CSV_FIELD [4] = $ FIELD_DATA [4] }