我有一个应用程序,我正在建设,我必须保存一些页面的设置。我决定把它以二进制数据格式保存在mysql中。我有很多复选框。假设我有这样的表格

<form>
<input type="text" value="some text" id="text">
<input type="checkbox" name="checkboxes1">
<input type="checkbox" name="checkboxes2">
<input type="checkbox" name="checkboxes3">
</form>

我有10个页面的设置页面与此类似。我想我可以将这些数据以二进制数据的形式写入mysql数据库。假设选择了第一个和最小的一个,那么我用mysql101编写。要选择哪种数据类型BLOBVARCHAR或其他类型?

最佳答案

存储按位数据的最有效方法是使用整数数据类型。在您的示例中,每个复选框将表示一个整数的1位。例如,如果设置了复选框:

checkbox 1 checked
checkbox 2 unchecked
checkbox 3 checked

这表示5(1*2^2+0*2^1+1*2^0)。根据需要存储的位数,使用以下类型的整数:
tiny int:    8  bits
small int:   16 bits
medium int:  24 bits
int:         32 bits
big int:     64 bits

有关更多信息,请参见http://dev.mysql.com/doc/refman/5.6/en/integer-types.html

关于php - 在mysql中存储设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17811623/

10-17 00:00
查看更多