将文件插入到MySQL Blob中

8

我想将一个Open Office文档插入到Blob字段中。我尝试这样做:

INSERT INTO my_table (stamp, docFile) VALUES (NOW(), LOAD_FILE('/tmp/my_file.odt'));

这在Windows上很好运行,但在Mac OS上无法加载文件到docFile字段。

有人有这方面的经验吗?

谢谢


尝试一下在这个类似问题中建议的方法。 - Yanki Twizzy
我已经按照你的建议做了所有事情,这就是为什么我发帖的原因。谢谢。如果我使用像phpmyAdmin或Navicate这样的工具来完成相同的任务,一切都很顺利。 - Flex60460
你是否收到任何错误消息?请检查您是否有权限从该目录上传文件。 - Naveen Kumar
我检查了权限,一切都很好。我使用zend并进行了2个测试。第一个测试中,我将文件夹和文件放在webroot上,没有结果;第二个测试中,我将文件夹和文件放在mysql根目录下,结果仍然是相同的:没有任何结果。而如果我在phpMyAdmin中执行相同的操作,则文件将被加载到mysql中。 - Flex60460
2
您正在使用远程 MySQL 服务器吗?文件必须在服务器上而非客户端。 - Barmar
1个回答

1

File.separator是用于分割特定文件路径的斜杠,其值为/或者\,例如在Windows系统中应该写成\或者C:\Documents\Test,但是在Mac系统中应该写成/

因此,请使用File.separator代替/\,这样代码就可以同时适用于Mac和Windows系统。

你可以更新类型为'blob'的列的值。

UPDATE `TableName` SET `ColumnName`=LOAD_FILE('FilePath/FileName.bin') WHERE `YourCondition` 
// FilePath -> C:/foldername/filename.bin

不起作用:未影响任何行 匹配的行数:1 更改的行数:0 警告:0 - Ωmega

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接