【发布时间】:2012-04-10 00:08:29
【问题描述】:
我有一个表 PGM_MASTER,它有三列
PGM_ID |整数(11)
PGM_ENV_ID |整数(11)
PGM_TEXT |中文本
我需要您的帮助,将文件/内容直接存储到 mysql DB(例如 /tmp/t1.tst)中,用于列“PGM_TEXT”以及通过 perl 的行中的其他列。我也需要保留我打算存储的文件格式。
感谢您的帮助。
【问题讨论】:
我有一个表 PGM_MASTER,它有三列
PGM_ID |整数(11)
PGM_ENV_ID |整数(11)
PGM_TEXT |中文本
我需要您的帮助,将文件/内容直接存储到 mysql DB(例如 /tmp/t1.tst)中,用于列“PGM_TEXT”以及通过 perl 的行中的其他列。我也需要保留我打算存储的文件格式。
感谢您的帮助。
【问题讨论】:
未经测试:
use DBI qw();
use File::Slurp qw(read_file);
my $content = read_file('/tmp/t1.tst', { binmode => ':raw' });
my $dbh = DBI->connect('DBI:mysql:database=DBNAME', { AutoCommit => 1, RaiseError => 1, });
$dbh->do('insert into PGM_MASTER (PGM_TEXT) values (?)', {}, $content);
【讨论】:
为什么不将文件上传到服务器,而不是将实际文件保存在数据库中,只需保存对其在文件结构中位置的引用。
假设你有结构
t1.tst
FOLDER |
| t1.tst
| t2.tst
| t3.tst
| t4.tst
在您的数据库中存储文件路径:FOLDER/t1.tst
【讨论】: