Я импортирую некоторые данные из файла CSV в базу данных MySQL.Это работало хорошо до тех пор, пока у меня не появилась строка, которая использует одинарную кавычку в поле Description
.
Проблемная строка в CSV выглядит так:
"2019","3982","2018-12-16","black, height - 16.0 ', matte, waterproof, ellipsoid","42","PXC Mfg Inc","emarkham@______.com"
SQLimport равен
LOAD DATA INFILE :file
INTO TABLE $table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(Year,Price,StockDate,Description,Quantity,Supplier,Contact)
Учитывая, что все столбцы заключены в двойные кавычки, я бы ожидал результат будет
Year | Price | StockDate | Description | Quantity | Supplier | Contact
------+-------+------------+------------------------------------------------------+----------+-------------+---------------------
2019 | 3982 | 2018-12-16 | black, height - 16.0 ', matte, waterproof, ellipsoid | 42 | PXC Mfg Inc | emarkham@______.com
, но то, что я на самом деле got was
Year | Price | StockDate | Description | Quantity | Supplier | Contact
------+-------+------------+----------------------+-----------+-----------+----------
2019 | 3982 | 2018-12-16 | black, height - 16.0 | 0 | waterproof| ellipsoid
Как видите, одинарная кавычка (обозначающая 16 дюймов) была интерпретирована как конец этого значения.Это, конечно, не желаемый результат.
Кто-нибудь знает, как это исправить?