【问题标题】:Importing multiple files into MySQL table [duplicate]将多个文件导入MySQL表[重复]
【发布时间】:2017-01-05 03:14:20
【问题描述】:

我正在尝试将一堆文本文件 (3098) 导入 MySQL 表。 LOAD DATA LOCAL INFIE导入单个文件没有问题。我所有的文件都在一个文件夹中。我认为我需要使用 foreach 但不知道该怎么做。没有 php 可能吗?任何事情都会有所帮助。

【问题讨论】:

  • @spartan 并且没有 php?
  • 我想知道是否有办法使用 MySQL 循环来做到这一点,因为我在将数据库连接到 php 时遇到问题。 @草莓

标签: php mysql load-data-infile


【解决方案1】:

运行以下 shell 脚本

for f in /path/to/files/folder/*.txt
do
    mysql -e "LOAD DATA INFILE '"$f"' INTO TABLE [tablename] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES" -u [username] --password= [password] [databasename]
echo "Done: '"$f"' at $(date)"
done

【讨论】:

  • 我运行了这个脚本。花了很长时间,最后一个文件显示Done。但是当我检查表格时,文件仍然丢失。
  • 抱歉,我遇到了这样的菜鸟,但我自己尝试了代码,所以我唯一可能错的地方是-u [username] --password= [password] [databasename]。如果我的通行证是“通行证”并且数据库是“工作”,则应为-u root --password=pass work,或者?
  • 如果你有任何想法@coding-dude.com
  • 是的,应该是这样的。它有没有给出任何错误?另外,请确保您拥有文件的文件夹的路径正确。该命令获取所有扩展名为 .txt 且字段以逗号 (,) 分隔的文件
  • 文件的路径是正确的,因为它循环通过它们向我显示Done 消息。但问题是这些文件没有进入我数据库中的相应表中。 @coding-dude.com
猜你喜欢
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 2014-07-20
相关资源
最近更新 更多