Mysql
 sql >> база данни >  >> RDS >> Mysql

Проблеми със синтаксиса на локалния файл за зареждане на mysql със зададени полета

Разбрах правилния синтаксис, за да накара това да работи:

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 файла беше намерен и импортиран частичен набор от данни... съжалявам, че губя времето на всички!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на нормализирани данни

  2. показване на стойността на базата данни в модална рамка показва само първия запис

  3. Включително стойности НЕ НАМЕРЕНИ в резултатите от MySQL заявка

  4. Настолна акордеон с помощта на php и MySQL

  5. Mysql:няколко таблици или една голяма маса?