表格应该有多少列是否有限制?

时间:2015-05-25 10:32:12

标签: mysql database

我有一个表可以调用它CAR,我需要用户在10到40之间勾选一些复选框,说明汽车是否有a,b,c等功能......

我的问题是默认的CAR columns idname等,这些额外的30列是多少?表格列是否有限制不应超过最大值?

3 个答案:

答案 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