H2列名选择返回错误的列名; “列”OUT_ID“未找到; SQL语句:”

时间:2013-02-04 17:21:09

标签: sql import h2 tab-delimited

我正在使用H2 database版本“H2 1.3.170(2012-11-30)”

我有以下标签分隔文件内容:

in:value1:String    out:id:Int  out:description:String
N/A 0   N/A
Forced Available    1   Forced Available
Forced Not Available    2   Forced Not Available

我使用以下语句创建表:

CREATE TABLE xo_coverage_voip_on_xo_override AS SELECT * FROM CSVREAD('C:\Temp\xo_coverage_voip_on_xo_override.tab', 'in_value_1' || chr(9) || 'out_id' || chr(9) || 'out_description', 'UTF-8', chr(9));

我尝试使用创建的表格:

SELECT out_id FROM xo_coverage_voip_on_xo_override;

我收到此错误:

"Column "OUT_ID" not found; SQL statement:"

我哪里错了?

另外,我真的想在插入之前从表中删除第一行。但是,我无法使WHERE子句起作用。

非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

所以,解决方案最终成为了这个声明:

CREATE TABLE xo_coverage_voip_on_xo_override1(in_value1 varchar, out_id int, out_description varchar)
  AS SELECT * FROM CSVREAD('C:\Temp\xo_coverage_voip_on_xo_override.tab', null, 'UTF-8', chr(9));

关键是让CSVREAD查询将数据加载到完全指定的表中。并为标题行提供“null”,以便在文件中跳过它。