我有一张包含十几个列的表格。我只知道第一列和最后4列的名称(理论上,我只能知道一列的名称而不是它的位置)
如何编写忽略此列的语句?目前我在ASP中进行各种列计数并构建一个声明,但是想知道是否有更简单的方法
更新
INSERT INTO tblName VALUES ("Value for col2", "Value for col3")
但是这张桌子有一个col4,可能还有更多,我忽略了。
我基本上有一个CSV文件。此CSV文件没有标头。它的列数比我插入的表少“X”。我想将CSV中的数据插入表中。
有许多不同结构的表和许多CSV文件。我创建了一个ASP页面来获取任何CSV并将其上传到相应的表格(基于CSV文件中的参数)。
它运行正常,我只是想知道当我执行INSERT
语句时,如果我可以忽略某些列并减少我的代码。
因此,假设CSV的数据如下
123 | 456 | 789
234 | 567 | 873
该表的结构为
ID | Col1 | Col2 | Col3 | Col4 | Col5
我目前构造一个说明
的插入语句INSERT into tblName ("123", "456","789","","")
但是我想知道是否有一种方法可以通过某种方式“忽略”列来省略空值。如上所述,除了我没有数据的列名之外,列名称是未知的。
答案 0 :(得分:1)
没有Sql快捷方式
Select * (except column col1) from ...
你必须从数据库元数据构建你的Sql,就像你已经理解正确的那样。
答案 1 :(得分:0)
您可以指定要插入的列。
所以不是......
INSERT INTO tblName VALUES ("Value for col2", "Value for col3")
您可以指定列名...
INSERT INTO tblName (ColumnName1, ColumnName2) VALUES ("Value for col2", "Value for col3")