数组数据类型插入MySQL



在使用MySql玩Yelp数据集时,我遇到了一个有趣的问题,显然我想运行一些查询,在user.json文件中描述了一个数据"数组"。

如何将此"数组"存储在MySql表中?

根据MySql数据类型存储参考文档,似乎没有一种数据类型会产生这种结果。

//字符串数组,用户朋友的数组,作为user_ids

"朋友":["wqoX…","KUXL…","6e9r…"]

到目前为止,我正在做一个简单的模型来关注User表,我的创建语句:

create table Friends(
friends VARCHAR(255),
primary key (friends));
create table User(
userid VARCHAR(22),
primary key (userid),
friends VARCHAR(22),<--- user-id is 22 so friends-id is 22
foreign key (friends) references UserFriends (friends));

一些有趣的样本数据:

insert into User("abcde-ghijk-mnopq-stuv","NONE"); <- person1, no friends
insert into User("abcde-ghijk-mnopq-stuw","abcde-ghijk-mnopq-stuv"); <- person2, person1 friend

也许为了获得结果,我必须使用数据库规范化方法?

Friends表应包含引用Users:的外键

CREATE TABLE Friends (
user1 VARCHAR(22),
user2 VARCHAR(22),
PRIMARY KEY (user1, user2),
CONSTRAINT user1 REFERENCES User (userid),
CONSTRAINT user2 REFERENCES User (userid)
);

该表中的一行表示user1user2是朋友。

一般来说,您应该避免将列表放入表列中,这违反了第二范式

相关内容

  • 没有找到相关文章

最新更新