将设置存储在mysql中



我有一个正在构建的应用程序,我必须保存一些页面的设置。我决定以二进制数据格式将其保存在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数据库。假设选择了第一个和最后一个,所以我用mysql 101编写。选择哪种数据类型的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有关更多信息,

您可以创建一个默认设置表,然后创建一个相应的表来存储各个用户设置。可以使用bittinyint数据类型来指示某个选项是关闭还是打开。

设置默认settingId设置默认值1加载图像12个加载广告0设置用户userId settingId值1 1 0

这里的优点是,只有当用户设置与默认设置不同时,才需要存储用户设置。

相关内容

  • 没有找到相关文章

最新更新