我有一个应用程序,我正在建设,我必须保存一些页面的设置。我决定把它以二进制数据格式保存在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
编写。要选择哪种数据类型BLOB
、VARCHAR
或其他类型? 最佳答案
存储按位数据的最有效方法是使用整数数据类型。在您的示例中,每个复选框将表示一个整数的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/