elimine la primera fila del archivo csv y cree una tabla de acuerdo con ella

Hola, estoy tratando de estar en el punto.

estoy tratando de subir CSV dentro mysql inmediatamente usando php en Windows. así que estoy usando la consulta

LOAD DATA INFILE 'c:/Data/mysql/transaction_upload.csv'
INTO TABLE transaction_upload
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';

carga todo mi csv en la tabla.

El problema es:

  1. La condición es que la tabla "transaction_upload" ya debería existir.
  2. También carga la primera fila de csv que contiene el encabezado.

Quiero que la primera fila se elimine de CSV, es decir, el encabezado no debe tener una entrada en la base de datos y la tabla se crea automáticamente con el nombre CSV_file_name y las columnas como las columnas de la primera fila de CSV.

No responda leyendo la primera línea de CSV en php y cree una tabla porque el problema de eliminar la primera fila sigue ahí.

preguntado el 03 de mayo de 12 a las 09:05

¿Tiene algo que ver con php? -

@code breaker... lo entendiste...! Estoy buscando algo similar.. Gracias de antemano -

1 Respuestas

Agregar IGNORE 1 LINES hasta el final de tu LOAD DATA mando.

A este tenor, manual dice:

La IGNOREnumberLINES La opción se puede usar para ignorar las líneas al comienzo del archivo. Por ejemplo, puedes usar IGNORE 1 LINES para omitir una línea de encabezado inicial que contiene nombres de columna:

CARGAR EL ARCHIVO DE DATOS '/tmp/test.txt' EN LA TABLA prueba IGNORAR 1 LÍNEAS;

Si la tabla aún no existe, MySQL generará un error.

contestado el 03 de mayo de 12 a las 09:05

gracias, funciona, la tabla ya debería existir, ¿puede decirme la forma de crear una tabla de acuerdo con la primera fila, pero no como leer columnas de csv en php y crear una tabla? - Rompe código

@CodeBreaker: el problema es que CSV no contiene suficiente información (como los tipos de datos de columna) para que MySQL cree correctamente la tabla; debe proporcionar información adicional con un CREATE TABLE dominio; si usa otro lenguaje (como PHP) para esto, hay muchas herramientas que pueden ayudarlo (como PHP's fgetcsv() función). (Tú podría ir a través de MySQL (tipo inseguro) Motor de almacenamiento CSV, pero no lo recomiendo). - huevo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.