我有一个像
这样的数据库设置 `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,任何帮助将不胜感激。
最佳答案
在字段名称周围加上反引号:`ad-id` 等,就像在表结构列表中一样。
关于php - 帮助将数据加载到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949604/