单个mysql字段中的多个值

时间:2015-06-03 14:27:09

标签: php mysql sql database web

我正在建立一个mysql数据库来存储公司信息。在其中一个字段中,我需要存储多个值,如创建者的名称。

我知道不会是一个不错的选择,但它会避免创建另一个表来存储几个名字。

关于检索和查询该特定字段的值的问题。

我非常感谢您的输入,即使需要更多代码行,我也能做出不错的选择。

TIA

3 个答案:

答案 0 :(得分:0)

三张桌子: 公司,(一般信息公司) 公司创始人,(与公司有关的创始人) 创始人。 (创始人姓名)

如果你想以正确的方式做事,习惯于编写大量代码。

答案 1 :(得分:0)

好吧,就这样做吧。 如果您愿意为更糟糕的解决方案编写更多代码行,那么创建表并不是那么多工作,为什么不只是将精力投入到好的解决方案中。

您是否有理由不想在这方面规范化数据库?

答案 2 :(得分:0)

如果您知道在一个列中存储多个值时出现问题,则不应该这样做。保持数据库规范化,检索和处理数据的问题要少得多。

更多信息:http://en.wikipedia.org/wiki/Database_normalization

对于您的示例,您应使用三个表companiespersonsfounder,而founder链接companiespersons的主键在一起。

编辑:SQLfiddle目前似乎有一些问题,所以我不能提供给你一个,但下面是一个例子 - 代码:com1有一个创始人,com2有三个。

create table companies (id, name);

insert into companies (id, name) values (1, 'com1');
insert into companies (id, name) values (2, 'com2');

create table persons (id, name);
insert into persons (id, name) values (1, 'person1');
insert into persons (id, name) values (2, 'person2');
insert into persons (id, name) values (3, 'person3');
insert into persons (id, name) values (4, 'person4');

create table founders (company_id, person_id);

insert into founders (company_id, person_id) values (1,1);
insert into founders (company_id, person_id) values (2,2);
insert into founders (company_id, person_id) values (2,3);
insert into founders (company_id, person_id) values (2,4);
相关问题