如何基于分离键将文本插入数据库

时间:2012-05-06 13:08:51

标签: php mysql import

如果我有以下数据库表my_table(id,year,event)

CREATE TABLE `my_table` (
  `id` int(3) NOT NULL auto_increment,
  `year` text,
  `event` text,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

现在我想从文本文件中导入此数据库my_table中的一些数据,其中包含以下完整的文本示例。

2011|Italy hosts the 68th Venice International Film Festival<br>
2011|Severe damage occurs as wildfires sweep through Oklahoma<br>
2010|In Sudan Liberation Army will demobilize child soldiers<br>

可以手动完成,但对于数百万个事件,这是不可能的,所以我一直在考虑使用另一种解决方案,它可以依赖于|将年份与事件分开,然后将其插入到数据库中停在<br>后滚动另一次插入。

任何想法怎么做,如果手动完成,这将节省数月,并将使用PHP解决方案教授重要的想法〜谢谢

结果我认为应该是

CREATE TABLE `my_table` (
  `id` int(3) NOT NULL auto_increment,
  `year` text,
  `event` text,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

INSERT INTO `my_table` VALUES (1, '2011', 'Italy hosts the 68th Venice International Film Festival');
INSERT INTO `my_table` VALUES (2, '2011', 'Severe damage occurs as wildfires sweep through Oklahoma');
INSERT INTO `my_table` VALUES (3, '2010', 'In Sudan Liberation Army will demobilize child soldiers');

1 个答案:

答案 0 :(得分:3)

阅读LOAD DATA INFILE。它允许您指定分隔符(|)和行终止符(<br>\n)。