Mysql LOAD命令允许从csv文件导入数据
LOAD DATA INFILE 'data.csv' INTO TABLE table_main
FIELDS TERMINATED BY ',';
如果有多个关系表
,该怎么办?table_main
id
firstname
lastname
table_type
id
table_main_id
table_type_id
table_type
id
typename
是否可以使用LOAD命令
加载包含以下内容的csv文件firstname, lastname, typename
john,doe,mytypename
答案 0 :(得分:1)
不,使用LOAD DATA
语法无法插入多个表。一种可能的解决方法是将其加载到临时表和从那里拿走它。
答案 1 :(得分:0)
不,恕我直言。你必须
答案 2 :(得分:0)
你可以使用一个包含表名的数组,并为每个表名迭代。
$tables = array("table1","table2","table3","tableN");
foreach ($tables as $table ) {
try
{
$this->connect = new PDO("mysql:host=$db_host;dbname=$db_name",$db_user, $db_pass,array(PDO::MYSQL_ATTR_LOCAL_INFILE => true));
$this->connect->exec("LOAD DATA INFILE 'data.csv' INTO TABLE
".$table_name."
FIELDS TERMINATED BY ',' ";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
我希望这能解决你的问题。