php - 帮助将数据加载到文件中

标签 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,任何帮助将不胜感激。

最佳答案

在字段名称周围加上反引号:`ad-id` 等,就像在表结构列表中一样。

关于php - 帮助将数据加载到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949604/

相关文章:

php - 玛根托 : Issue stop limiting the product names

php - 如何访问其他主机中的 CPanel MySql 数据库

java - 数据库的性能是哪一项?

在线商店的数据库架构

php - 我如何测试是什么减慢了我的 php 代码?

php - 如何修复左右侧边栏并保持中心主要内容可滚动向上?

php - 以编程方式创建的产品不会显示在 WooCommerce 上

mysql - 每个派生表必须有自己的别名

mysql - 减去/求和自己的表格

javascript - 如何将 Firebase 用作具有生成键(JS)的关系数据库?