sql - 向sql数据库添加额外字段的最佳方法

时间:2016-09-08 05:42:17

标签: mysql json

我想知道在SQL数据库上管理额外字段的最佳方法是什么(在我的情况下是MySQL 5.7),例如我有带有字段的产品表

create table product(   
 id int auto_increment,
 product_name varcha,r
 description varchar,
 other json,
 primary key(id)
);

但是将来如果我想添加额外的字段,如weigth或height,我会将信息存储在其他字段中作为json格式。 做这个好主意吗?或者更好地为每个字段创建一个新列。何时是以json格式存储数据的好选择?

1 个答案:

答案 0 :(得分:0)

嗯,这一切都取决于你的需求。

如果这些“额外”字段的结构将在行之间发生变化,那么使用lika json编码文本可能是一个好主意,只要您不需要对它们执行SQL操作(如例如,WHERE条件。)

无论如何(只要您的额外字段结构在行与行之间是可变的),我建议使用另一个表来存储所有额外的属性,例如:

 CREATE TABLE extra_attributes(
     id integer not null primary key,
     product_id integer not null,
     attribute_name varchar(64) not null,
     attribute_value varchar(128)
 );

然后创建一个products表的外键。

如果您的所有产品都有相同的额外字段,最简单的解决方案是将所需的列添加到产品表中。

相关问题