怎么做SELECT之类的“所有列除了......”?

时间:2014-08-21 21:03:26

标签: mysql sql

我有一个包含数据的MySQL表,名为current。我将新数据导入名为temp的表中。这两个表都有auto_increment ID列。

事先不知道数据导入的表结构(我需要导入各种文件结构),尽管currenttemp的结构是相同的。 / p>

由于导入文件的未知列配置(为每个不同的文件配置动态创建的表),我无法选择特定列,因此我必须选择所有列,而不是表{{1}中的ID列并将结果导入表temp

我首先需要导入current,因为文件可能很大,我需要在保存到数据库之前对数据进行处理,所以我不想对{{{{}}进行任何操作在我首先导入单独的文件之前的1}}表。

temp表中的ID列可防止因重复键而插入current表。

所以我需要这样的东西:

temp

关于如何编写所有列除ID 之类的部分的任何想法?这甚至可能吗?

1 个答案:

答案 0 :(得分:3)

没有* except foo。除了您不想要的列之外,您必须列出所有列。

SELECT field1, field2, ..., fieldN ...

您可以通过动态脚本执行此操作,例如查询字段名称information_schema,将字段列表构建为字符串,将字符串准备为查询,执行它等等...