将CSS颜色值存储在DB中

Hom*_*ith 8 mysql types sqldatatypes

我需要将CSS HEX颜色值(#FFFFFF例如)存储到mysql数据库中.

我会使用哪种类型的数据以及为什么使用另一种数据会更好?

sil*_*lly 18

保存了颜色char(6)没有#如果列不为空......如果列可以为空使用VARCHAR(6)节约大小


Tho*_*bin 9

如果您关心磁盘空间,则应该使用 BINARY(3)

此答案适用于高级用途,与大多数开发人员无关(已接受的答案很好)。我在这里发帖是因为这是 Google 上的第一个结果。

可维护性和磁盘空间之间存在权衡。由 css hex 表示的颜色 ie#f8f8f8也可以表示为BINARY(3)

困难BINARY(3)在于您必须将十六进制字符串来回转换为二进制。您可以使用 HEX() 和 UNHEX() 执行此操作,但是维护您的数据库的任何人如果想要进行更改都需要了解二进制类型。很容易低估这会给未来的开发人员带来的问题。

但是,使用BINARY(3). 保存到硬盘上的数据#f8f8f8,如果保存CHAR(6)101010101011100011010001110101001001111111110地方,如果它被保存为BINARY(3)它会是111110001111100011111000

  • 感谢您使互联网保持最新状态!我们需要更多像你这样的人。 (2认同)