帮助将LOAD DATA加载到文件中

时间:2011-08-04 22:58:25

标签: php mysql database load-data-infile

我有一个像

这样的数据库设置
  `id` int(11) unsigned NOT NULL auto_increment,
  `ad-id` int(11) default NULL,
  `advertiser-id` int(11) default NULL,
  `advertiser-name` varchar(250) default NULL,
  `advertiser-category` varchar(250) default NULL,
  `buy-url` varchar(255) default NULL,
  `catalog-id` varchar(255) default NULL,
  `currency` varchar(3) default NULL,
  `description` varchar(255) default NULL,
  `image-url` varchar(255) default NULL,
  `in-stock` varchar(255) default NULL,
  `isbn` varchar(13) default NULL,
  `manufacturer-name` varchar(255) default NULL,
  `manufacturer-sku` varchar(50) default NULL,
  `name` varchar(255) default NULL,
  `price` decimal(10,2) default NULL,
  `retail-price` decimal(10,2) default NULL,
  `sale-price` decimal(10,2) default NULL,
  `sku` varchar(50) default NULL,
  `upc` varchar(50) default NULL,

我正在尝试加载这样的数据:

LOAD DATA LOW_PRIORITY LOCAL INFILE "/home/datafeed/tempfile.csv" REPLACE INTO TABLE products_import FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\n" (ad-id, advertiser-id, advertiser-name, advertiser-category, buy-url,catalog-id,currency, description,image-url,in-stock,isbn,manufacturer-name,manufacturer-sku,name,price,retail-price,sale-price,sku, upc);

但它似乎不喜欢带有破折​​号的数据库名称。字段名称几乎是一成不变的。如果我尝试插入没有字段名称,它会将所有内容设置在错误的字段中(以autoinc开头)

我对MySQL不太了解任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

在字段名称周围添加回方:'ad-id`等,就像在表结构列表中一样。