mysql中longblob和longtext有什么区别?

11

在mysql中,longblob和longtext有什么区别?

保存一个长话题应该使用什么?

3个回答

23

BLOB代表二进制大对象。如果您在数据库中存储二进制数据,则BLOB是您需要的表类型。否则...使用longtext。

在您的情况下,使用longtext。


1
那有什么不好的呢?谷歌是我的朋友,我也可以通过谷歌搜索和帮助他人来学习。 - evilone
1
没什么不好的,我想发布完全相同的内容,但你比我快几秒钟哈哈!+1 - user657496
1
尝试引用您的来源,告诉用户在这种情况下去谷歌搜索,如果应该的话可以对原帖进行负面评价。不过这个建议值得点赞。 - Francisco Presencia

18

BLOB和TEXT基本相同,除了TEXT字段应用字符集翻译规则。BLOB字段不会这样做。所以对于BLOB,输入什么就输出什么。而对于TEXT,放入的内容可能与输出的内容不同。


4
举个例子?你的陈述制造了神秘感。 - Vishal Kumar Sahu
@SahuVKumar:我认为将文本数据放入BLOBTEXT类型中是安全的。但是,我猜测将二进制数据放入BLOBTEXT类型可能会产生不同的结果。 - rinogo

7
您可以在TEXT列上使用排序规则和字符集,这意味着:
  1. 如果您为连接指定的字符集与TEXT列不同(例如,latin1列,请求utf-8),MySQL会将内容转换为所需的字符集。
  2. 您可以根据排序规则对TEXT列进行排序和比较。
BLOB只是“二进制序列”,您将按原样获取它们。

1
“转换内容”是一个很好的提示,通常在解释BLOB和TEXT之间的区别时人们不会提到性能。有时候两者都适用于某些数据,因此选择具有最小性能惩罚的那个是明智的。 - Cristian Vrabie
我认为这就是我所经历的,并且它可能会有所帮助:一个具体的例子是,当插入一个更高的Unicode表情符号(在这种情况下是“”)时,指定UTF-8 Unicode的Drupal longtext字段会抛出PDO异常,但是具有LONGBLOG字段的相同数据库可以很好地接受它。 - texas-bronius

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