如何将文本文件中的数据加载到特定字段中。这是一些复制操作的 30 行日志文件;没有什么花哨。我只想将它存储为大文本或 blob。
我能找到的示例都是用于将文本文件加载到表中。
这是我的数据库的样子:
+----+---------------------+---------------------+------+------------+------------------------------+
| id | LastStart | LastFinish | Log | ExitStatus | TaskName |
+----+---------------------+---------------------+------+------------+------------------------------+
| 1 | 2012-06-26 10:41:17 | 2012-06-26 10:47:42 | NULL | NULL | LouPrMgt004.Backup |
| 2 | NULL | NULL | NULL | NULL | LouPrMgt004.LoadPrtgDataToDb |
+----+---------------------+---------------------+------+------------+------------------------------+
所以我只想将文本文件“/root/copy.log”插入“日志”字段。
日志文件都会有所不同,但这是其中之一:
2012/06/26 08:35:53 [6952] building file list
2012/06/26 08:35:53 [6952] .d...p..... ./
2012/06/26 08:35:53 [6952] <f..t...... LouPrMgt004-backup-www.tar.gz
2012/06/26 08:35:53 [6952] <f..t...... MySQL_ServerInfo.sql
2012/06/26 08:35:53 [6952] <f..t...... MySQL_nmap_scan.sql
2012/06/26 08:35:53 [6952] <f..t...... packagelist.log
2012/06/26 08:35:53 [6952] <f.st...... root.tar.gz
2012/06/26 08:35:53 [6952] sent 60.14K bytes received 30.44K bytes 13.94K bytes/sec
2012/06/26 08:35:53 [6952] total size is 19.26M speedup is 212.63
2012/06/26 10:41:31 [8159] building file list
2012/06/26 10:41:31 [8159] .d...p..... ./
2012/06/26 10:41:31 [8159] <f.st...... LouPrMgt004-backup-www.tar.gz
2012/06/26 10:41:31 [8159] <f.st...... MySQL_ServerInfo.sql
2012/06/26 10:41:31 [8159] <f.st...... MySQL_nmap_scan.sql
2012/06/26 10:41:31 [8159] <f..t...... packagelist.log
2012/06/26 10:41:31 [8159] <f.st...... root.tar.gz
2012/06/26 10:41:32 [8159] sent 7.85M bytes received 30.44K bytes 630.61K bytes/sec
2012/06/26 10:41:32 [8159] total size is 19.27M speedup is 2.44
由于您希望将整个文件插入到单个列中。您需要LOAD_FILE函数:
为了让您了解LOAD_FILE函数的工作原理,试试这个:
您应该能够看到您的 my.cnf 加载到变量中
这是一个示例运行
试试看 !!!
小心这个,因为有些人抱怨它不起作用