2012-07-16 106 views
1

我想构建一个小工具来保存数据库中有用的代码片段。但不知道应该使用哪种数据类型来保存所有代码。 special characters有问题吗?我可以使用String来保存代码吗?你能给我一些建议吗?先谢谢你。设计数据库以保存html,jsp,java,javascript等代码

UPDATE

我正在准备做一个表所示:

- ID(UUID) - - 名称(字符串) - - 类型(字符串) - - 代码(字符串) -

保存代码。有小费吗?

UPDATE

这里的想法:

  1. 使用文字并设置正确的字符集。我想我会用UTF-8
  2. 使用BLOB存储代码

我不知道,哪一个更好。我需要一个关于这个的讲座。

+0

其VARCHAR,当谈到喜欢的东西SQL。同样根据我对未知长度的varchars的回答,数据类型是文本。 Blob是varbinary的未知长度版本。 – 2012-07-16 10:01:02

回答

2

ID使用text数据类型,因为您可能正在存储任何长度的数据,还请确保使用正确的字符编码,以便您可以表示您需要的符号。

仅供参考这里是TEXT/BLOB http://dev.mysql.com/doc/refman/5.0/en/blob.html

+1

如果语言对空白敏感,我不会使用文本,而是使用blob。例如,如果一个表包含'a',则存储'a'的尝试会在MySQL中导致重复键错误。对于BLOB列来说这不是真的。 – fuzzyanalysis 2012-07-16 10:04:04

+0

没有想到这一点,但你说你永远不会使用'文本'呢?我使用它很多,从来没有任何问题。我只有在存储图片/ pdf等文件时才使用BLOB。 – 2012-07-16 10:08:08

+0

其实我同意你的观点,TEXT会更适合搜索数据库:)。 – fuzzyanalysis 2012-07-16 10:32:39

1

MySQL参考如果存储代码为BLOB(字节[])应该没有字符集问题

+1

无论如何,在数据库上使用正确的字符集将消除此问题。当它明确显示文本(因此是varchar/text)时,没有看到任何以二进制格式存储的东西。 – 2012-07-16 10:02:34

+0

同意。仅供参考 - 您不必将整个数据库设置为使用一个字符集,就可以按列设置字符集。例如,在MySQL中有一些命令可以在列中的字符集类型之间进行转换:http://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html – fuzzyanalysis 2012-07-16 10:58:29