mysql LOAD DATA INFILE without FIELDS TERMINATED BY

jasilva

Hello guys I need load a file to a table

I use

LOAD DATA INFILE 'D:....example.txt' INTO TABLE test_table
CHARACTER SET utf8
LINES TERMINATED BY '\r\n';

My file look..

   4STPS      0000000480000015426  20040425            42.480060981876  20150325  11
   4STPS      0000000480000015458  20040425           110.240060981880  20150325  11
   4STPS      0000000480000015492  20040425           242.500060981883  20150325  11
   4STPS      0000000480000015583  20040510            92.510060981888  20150325  11
   4STPS      0000000480000015584  20040510            92.490060981889  20150325  11
   4STPS      0000000480000015592  20040510            87.140060981890  20150325  11
   4STPS      0000000480000015631  20040510           117.500060981896  20150325  11

My table is ...

CREATE TABLE `test_table` (
  `me` varchar(4) DEFAULT NULL,
  `group_b` varchar(10) DEFAULT NULL,
  `agent` varchar(9) DEFAULT NULL,
  `element` varchar(10) DEFAULT NULL,
  `ini_vig` decimal(8,0) DEFAULT NULL,
  `amount` decimal(10,4) DEFAULT NULL,
  `recive` varchar(8) DEFAULT NULL,
  `ven_rbo` decimal(8,0) DEFAULT NULL,
  `ado` varchar(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

When I execute get this error Error Code: 1406. Data too long for column 'me' at row 1

What I did was count the spaces between the fields are alphanumeric, numeric fields only add between fields.

I cant change file structure How I can change the table so you can save the information?

RolandoMySQLDBA

Your LOAD DATA INFILE sees only one column at the moment

You will need to do the following

STEP 01 : Create a table with Single Column to Load Bulk Data

use test
DROP TABLE bulkdata;
CREATE TABLE bulkkdata
(
    id  INT NOT NULL AUTO_INCREMENT,
    txt CHAR(84),
    PRIMARY KEY (id)
);

STEP 02 : Load the Single Column of the Bulk Data

LOAD DATA INFILE 'D:....example.txt' INTO TABLE bulkdata
CHARACTER SET utf8
LINES TERMINATED BY '\r\n' (txt);

STEP 02 : Use SUBSTR() to extract field from the txt field

INSERT INTO test_table (me,group_b,agent,element,...)
SELECT
    SUBSTR(txt,1,4),
    SUBSTR(txt,5,10),
    SUBSTR(txt,15,9),
    SUBSTR(txt,24,10),
    ...
FROM bulkdata;

GIVE IT A TRY !!!

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

mysql LOAD DATA INFILE without FIELDS TERMINATED BY

From Dev

LOAD DATA INFILE - FIELDS TERMINATED error

From Dev

LOAD DATA INFILE - FIELDS TERMINATED error

From Dev

mysql Load data local infile for one csv fields terminated by , and for another csv field terminated by ;

From Dev

LOAD DATA INFILE - fields terminated by character which also appears in field

From Dev

MySQL Load Data Infile

From Dev

MySQL Load Data Infile

From Dev

mysql LOAD DATA INFILE not working

From Dev

load data infile syntax in mysql

From Dev

LOAD DATA INFILE MYSQL Error

From Dev

Loading data into mysql LOAD DATA INFILE difficulty

From Dev

MySQL LOAD DATA INFILE limits my import?

From Dev

mysql LOAD DATA INFILE NA to NULL transformation

From Dev

Bash Script for Load Data Infile MySQL

From Dev

Python/MySQL - LOAD DATA LOCAL INFILE

From Dev

MySQL LOAD DATA LOCAL INFILE to a remote server

From Dev

MySQL/Python LOAD DATA LOCAL INFILE error

From Dev

Equivalent of SET with LOAD DATA INFILE for MySQL 4.1?

From Dev

MySQL LOAD DATA INFILE store line number

From Dev

Python/MySQL - LOAD DATA LOCAL INFILE

From Dev

mysql LOAD DATA LOCAL INFILE not finding file

From Dev

MySQL LOAD DATA INFILE error 13 on a Pi

From Dev

LOAD DATA INFILE from cvs enclosed with double quotes fields

From Dev

MySQL Load Data Infile - Nulls causing error 1265: Data Truncated

From Dev

MySQL 5.6 - load data infile chopping out data (no nulls involved)

From Dev

MySQL LOAD DATA INFILE Data too long for column exception

From Dev

MySQL LOAD DATA LOCAL INFILE vs. SQL file

From Dev

mysql LOAD DATA LOCAL INFILE with default timestamp column value

From Dev

PHP - Import CSV file to mysql database Using LOAD DATA INFILE

Related Related

HotTag

Archive