10

我有一个 CSV 文件,例如

1,hello,13
2,world,14
3,ciao,26

我正在尝试使用CSVREAD函数将此文件读入数据库,就像这样

insert into my_table( id, message, code ) values (
  select convert( "id",bigint ), "message", convert( "code", bigint)
  from CSVREAD( 'myfile.csv', 'id,message,code', null )
);

出于某种原因,我不断得到SQL error stating that the column count does not match.

该表是使用 Hibernate/GORM 创建的,包含我尝试插入的字段。

选择本身似乎可以工作,或者至少在单独执行时不会导致任何错误。我的陈述有什么问题?

4

1 回答 1

15

你用过

insert into my_table(...) values (select ...)

但您应该使用,如SQL 铁路图中所述,

insert into my_table(...) select ...

实际上,对于 H2,如果按如下方式创建表会更快一些,但我知道这并不总是可能的:

create table my_table(...) as select ...
于 2013-10-10T19:13:30.660 回答