Разбрах правилния синтаксис, за да накара това да работи:
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 )
Имайте предвид - това се прави с модула mysqldb на python.
ПРЕДУПРЕЖДЕНИЕ
Единственият проблем с това решение е, че по някаква причина моето групово вмъкване вмъква само първите 217 реда данни от моя файл. Общият ми размер на файла е 19KB, така че не мога да си представя, че е твърде голям за mysql буферите... така че какво дава?
повече информация
Освен това току-що опитах този синтаксис директно в CLI на msyql-server и той работи за всички 255 записа. Така че очевидно е някакъв проблем с python, python mysqldb модула или mysql връзката, която модулът mysqldb прави...
ГОТОВО
Току-що разбрах проблема, той нямаше нищо общо с командата Local infile за зареждане на данни, а по-скоро с метода, който използвах за конвертиране на моя оригинален .dbf файл в .csv, преди да се опитам да импортирам .csv. По някаква причина методът за импортиране на mysql се изпълняваше на .csv, преди да приключи методът за преобразуване от .dbf в .csv – в резултат на което в .csv файла беше намерен и импортиран частичен набор от данни... съжалявам, че губя времето на всички!