Tengo un archivo CSV como

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

Estoy tratando de utilizar CSVREAD función para leer este archivo en la base de datos, como esta

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

Por alguna razón sigo recibiendo SQL error stating that the column count does not match.

La tabla se crea con Hibernate/GORM y contiene los campos intentar insertar en.

La seleccione sí parece funcionar, o al menos no causar errores cuando se ejecuta solo. Lo que está mal con mi declaración?

InformationsquelleAutor kaskelotti | 2013-10-10

1 Comentario

  1. 11

    Ha utilizado

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

    pero que debe utilizar, como se documenta en el SQL ferrocarril diagramas,

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

    De hecho, para el H2, es un poco más rápido si se crea la tabla de la siguiente manera, pero entiendo que no es siempre posible:

    create table my_table(...) as select ...
    • Gracias @Thomas. En este punto de desarrollo de GORM/Hibernate crea las tablas para mí, donde yo sólo inicialización de los datos de archivos CSV. Cuando la aplicación de vencimiento, la opción de crear una tabla para incluir también los datos.

Dejar respuesta

Please enter your comment!
Please enter your name here