我有一个表可以调用它CAR
,我需要用户在10到40之间勾选一些复选框,说明汽车是否有a,b,c等功能......
我的问题是默认的CAR
columns id
,name
等,这些额外的30列是多少?表格列是否有限制不应超过最大值?
答案 0 :(得分:1)
最大值我们每张表可以有4096列,但确切的限制取决于几个因素。 您可以在此处查看详细信息博客:http://goo.gl/Uh5Hf1
除了mysql中的最大列限制外,建议不要在表中创建那么多列。相反,您可以创建一个单独的表来存储复选框值。 正如您所提到的,用户可能(或可能不会)勾选10到40之间的复选框。因此,不需要为每个用户创建列,而是可以创建一个表,其中存储具有用户ID作为外键的复选框值,一个示例表结构如下:
id user_id chk_box_name chk_box_value
您只能存储用户选择的值。 希望这会对你有所帮助。
答案 1 :(得分:0)
我们可以在MYSQL的表格中包含最大 4096 列。
来自MYSQL Docs:
每张表有4096列的硬限制,但有效 对于给定的表格,最大值可能会更小。
我还建议你创建两个表。您可以在其中存储汽车信息,如id,carname,cartype ......,第二个表包含id,car_id,feature1,feature2等功能信息......
答案 2 :(得分:0)
MySQL数据库
每个表的最大行大小为65,535字节。此最大值适用于所有存储引擎,但给定引擎可能具有其他约束,导致较低的有效最大行大小。最大行大小会限制列数,因为所有列的总宽度不能超过此大小。例如,utf8字符每个字符最多需要三个字节,因此对于CHAR(255)CHARACTER SET utf8列,服务器必须为每个值分配255×3 = 765个字节。因此,一个表不能包含超过65,535/765 = 85个这样的列 资料来源:Here