13

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

我将使用哪种类型的数据,为什么它比使用另一种更好?

4

2 回答 2

25

如果列不为空,则使用 a 保存颜色...如果该列可以为空,则使用 varchar(6) 来char(6)节省大小#

于 2012-11-29T14:51:19.023 回答
13

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

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

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

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

但是,使用BINARY(3). 保存到磁盘的数据,#f8f8f8如果按原样保存,则按CHAR(6)原样101010101011100011010001110101001001111111110保存BINARY(3)111110001111100011111000

于 2020-04-02T11:05:44.467 回答