为什么在数据浏览器MATLAB中将mysql中的数据“ long blob”键入为“ int8”?

时间:2018-07-21 15:38:41

标签: mysql database matlab spring-mvc

我正在尝试在MATLAB中的MySQL JDBC中选择数据。表中的列(file_data)之一具有类型“ longblob”。下图显示了file_data内容的更多详细信息。

file_data content with type longblob

前两行是标题,其余行是数据。在将此文件保存到MySQL数据库(使用spring-MVC和JSP)之前,该文件是CSV文件,其分隔符为“;”。

下图是数据库表。您可以看到file_data列的类型为“ longblob”。

table of database

但是为什么当我尝试在MATLAB的数据库浏览器中预览数据库时,它应该是blob,但显示为“ int8”。更多详细信息,请看下面的图片。

data explorer in matlab

因此,我有问题:

  1. 如何使file_data在MATLAB中读为“ longblob”而不是“ int8”?

  2. 如果“ file_data”列已成功更改为longblob,则如何将其读取为表格,以便可以处理数据?

1 个答案:

答案 0 :(得分:1)

CountOfBytesx1 Int8等于longblob。 Int8是Matlab Byte,而CountOfBytes是存储的字节数。 您可以将其转换回文件,例如:

fid = fopen(file_name,'w')
fwrite(fid,file_data,'*int8')
fclose(fid)

来自matlab answers的代码。其中file_namefile_data是从查询中获取的值。

或者您可以尝试Retrieve blob field from mySQL database with MATLAB

的解决方案之一

要读取CSV数据,请使用csvread

解决问题后,也将解决方案添加到cross post

顺便说一句:我从没使用过Matlab,但是对matlab int8 longblob的一次简单的网络搜索指导了我。