Hittade rätt syntax för att få det här att fungera:
sql = """LOAD DATA LOCAL INFILE %s INTO TABLE seriallog_dev
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\\n'
IGNORE 1 LINES
(FLEX_PN, FLEX_PLANT, FLEX_ORDID, FLEX_REV, CUST_PN, CUST_REV, SERIALID, @DTE, @LTME)
SET RECORDID = NULL,
TRANS_OCR = STR_TO_DATE(CONCAT(@DTE,'',@LTME), "%%Y%%m%%d%%H%%i%%s"),
CREATED = CURRENT_TIMESTAMP;"""
params = (file,)
self.db.query( sql, params )
Kom ihåg - detta görs med pythons mysqldb-modul.
VARNING
Det enda problemet med den här lösningen är att av någon anledning infogar min bulkinsert bara de första 217 raderna med data från min fil. Min totala filstorlek är 19KB så jag kan inte föreställa mig att den är för stor för mysql-buffertarna... så vad ger?
mer information
Dessutom har jag precis provat denna syntax direkt i msyql-server CLI och den fungerar för alla 255 poster. Så det är uppenbarligen något problem med python, python mysqldb-modulen eller mysql-anslutningen som mysqldb-modulen gör...
KLAR
Jag kom BARA ut av problemet, det hade ingenting att göra med kommandot load data local infile utan snarare metoden jag använde för att konvertera min ursprungliga .dbf-fil till .csv innan jag försökte importera .csv. Av någon anledning kördes mysql-importmetoden på .csv innan konverteringsmetoden .dbf till .csv avslutades -- vilket resulterade i att en partiell datamängd hittades i .csv-filen och importerades... ledsen att slösa bort allas tid!