如何在MySQL数据库中插入文件?

问题描述 投票:27回答:4

我想使用webservice在驻留在远程Web服务器上的MYSQL数据库中插入一个文件。

我的问题是:什么类型的表列(例如varchar等)将存储文件?如果是文件,insert语句会有些不同吗?

mysql sql database
4个回答
23
投票

BLOB数据类型最适合存储文件。


12
投票

您需要使用BLOB,有TINY,MEDIUM,LONG和BLOB,与其他类型一样,根据您的尺寸需求选择一个。

TINYBLOB 255
BLOB 65535
MEDIUMBLOB 16777215
LONGBLOB 4294967295
(in bytes)

insert语句相当正常。您需要使用fread然后addslashes读取文件。


12
投票

其他答案会让你知道如何完成你所要求的......

然而

在这种情况下,这不是一个好主意。通常最好只存储数据库中的文件名和文件系统上的文件。

这样,您的数据库就会小得多,可以更轻松地传输,更重要的是可以更快地进行备份/恢复。


10
投票

MySQL类型的文件大小:

  • TINYBLOB 255字节= 0.000255 Mb
  • BLOB 65535字节= 0.0655 Mb
  • MEDIUMBLOB 16777215字节= 16.78 Mb
  • LONGBLOB 4294967295字节= 4294.97 Mb = 4.295 Gb
© www.soinside.com 2019 - 2024. All rights reserved.