我有一个包含数据的MySQL表,名为current
。我将新数据导入名为temp
的表中。这两个表都有auto_increment ID列。
事先不知道数据导入的表结构(我需要导入各种文件结构),尽管current
和temp
的结构是相同的。 / p>
由于导入文件的未知列配置(为每个不同的文件配置动态创建的表),我无法选择特定列,因此我必须选择所有列,而不是表{{1}中的ID列并将结果导入表temp
。
我首先需要导入current
,因为文件可能很大,我需要在保存到数据库之前对数据进行处理,所以我不想对{{{{}}进行任何操作在我首先导入单独的文件之前的1}}表。
temp
表中的ID列可防止因重复键而插入current
表。
所以我需要这样的东西:
temp
关于如何编写所有列除ID 之类的部分的任何想法?这甚至可能吗?
答案 0 :(得分:3)
没有* except foo
。除了您不想要的列之外,您必须列出所有列。
SELECT field1, field2, ..., fieldN ...
您可以通过动态脚本执行此操作,例如查询字段名称information_schema
,将字段列表构建为字符串,将字符串准备为查询,执行它等等...