我的任务是将excel表中存在的客户端数据批量上传到具有固定预定义列的mysql表。
问题是用户上传的excel有时包含比原始mysql表结构更少的列或更多的列。
任何人都可以给我正确的解决方案来处理这种情况,其中来自excel的匹配列值将被插入到给定的mysql字段中,其中非匹配的列值将被添加到mysql客户端表的“其他”列。
提前致谢!
答案 0 :(得分:0)
我有一个潜在的解决方案。这是不你想到的解决方案,但是,与你的直觉所说的相反,事实是这是唯一正确的解决方案
应尽可能始终解决问题 来源 ,
而不是试图解决(撤消)问题的 效果 。
从Excel到MySQL的数据传输不问题。
主要问题是用户。缺乏相关政策的培训和/或执行。您可能已经在考虑为什么“只是以自己的方式更容易”的原因,但请考虑一下:您编写了当前正在发生的[多个]数据输入问题。大。
下周出现了,并聘请了一位新人,并开始以一种你从未考虑过的全新方式搞乱导入。所以,你将再次改变你的代码。 ......再一次。
它甚至不需要新员工成为新问题;不要过分信任“用户”整体。 如果有办法解决问题,用户就会找到它。(这是他们的工作!)
只要您以礼貌,专业和有组织的方式处理此问题,您就会表现为关注此[可能很重要]数据完整性的人。
如果用户需要遵循的流程太复杂或令人困惑,以至于无法合理地预期普通人会遵守该流程,那么该流程的步骤需要改进。
根据具体情况,您可以:
这些建议非常模糊,可能无法直接应用,这是因为您没有提供有关此数据的内容,可能出现的错误,错误发生的情况以及此处之间的过程的零信息。
不幸的是,即使你仍然坚持“围绕错误”,你仍然必须收集这些信息并将其添加到你的问题中,然后才能有人帮助你。
基本上你必须训练我们用户可以犯的所有类型的错误 - 而不是训练用户(而且我不确定你会得到多少帮助那种情况。)
我以前曾经处理过很多类似的东西,涉及各种公司规模。它总是我最不喜欢的工作部分,但也是最重要的部分,虽然“自己处理它”似乎更容易,但请相信我:从长远来看,这是最好的方式。
如果你想要更具体的建议和例子,我有很多。我很高兴我不再需要处理那些东西了!
之前有人说 “这是偏离主题的” ......我完全不同意:处理人为因素是编程的关键部分。事实上,有些人会说这是程序员存在的唯一的原因。有时,数据问题的最佳解决方案是选择而不是来为其编码!