Am Samstag, 2. April 2005 13.51 schrieb [EMAIL PROTECTED]:
> First of all I hope you can be patient for my english....
> I'm working with data import into mysql from a txt file. I'm using LOAD
> DATA INFILE
> command but I cannot correctly import a text column of 595 characters.
> I receive this (very large) file from an external organization and this
> file is made
> without separators bitween fields. I know only the exact lenght of each
> field. All is fine for fields < of 256 char, but I cannot import this text
> field of 595 characters. It's imported truncated at 255th character.
> Help me please!
> Stefano (osso)

I think this is a case where the splitting into the fields is better done 
outside of mySQL.

You could run a simple script which takes your original file with nondelimited 
records and produces a delemited file, and then import this delimited file.

Following a simple, non-generic perl script you can adapt to your field 
lengths. The version below splits long records in fields of 13, 54, and 3 
chars length, taking input from STDIN and output to STDOUT, so you could use 
it like

   $ ./split.pl < undelimited_file > delimited_file

=== split.pl ===
#!/usr/bin/perl

use strict;
use warnings;

my $delimiter=";"; # or "\t" or whatever

while (my $line=<STDIN>) { # process each line/record
 my @fields=$line=~/^(.{13})(.{54})(.{3})/; # split into field by fix lengths
 print join $delimiter, @fields; # output fields delimited
}
=== END split.pl ===

greetings joe

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to