将数组数据类型插入MySQL

时间:2018-11-09 20:01:19

标签: mysql

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

如何将这个“数组”存储在MySql表中?

根据MySql Reference Documentation for Data Type Storage,似乎没有可以提供此结果的数据类型。

  

//字符串数组,用户朋友的数组,称为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

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

1 个答案:

答案 0 :(得分:1)

Runnable表应包含引用timerExec的外键:

Friends

此表中的一行表示UsersCREATE TABLE Friends ( user1 VARCHAR(22), user2 VARCHAR(22), PRIMARY KEY (user1, user2), CONSTRAINT user1 REFERENCES User (userid), CONSTRAINT user2 REFERENCES User (userid) ); 是朋友。

通常,您应该避免将列表放入表格列中,这违反了第二范式。