在一个列中存储多个值

时间:2019-10-28 17:46:00

标签: python sqlite

我正在设计一个Web应用程序,使用户与其他用户成为朋友。我正在使用sqlite3将用户信息存储在数据库中。 我正在集思广益,如何跟踪与谁成为朋友。 到目前为止,我的想法是;在我的数据库中创建一个名为“友谊”的列,我在其中存储了来自用户朋友的各种user_ids(整数)。 我必须在一列中存储多个整数...我该怎么做? 可以在列中存储python列表吗?

对于如何将友谊网络信息存储在数据库中,我也持开放态度。

该应用程序通过FLASK运行

3 个答案:

答案 0 :(得分:1)

您在此处尝试做的事情被称为“多对多”关系。您可以创建一个包含两列的“ Friendship”表:user1user2,而不是创建“ Friendships”列。该表中的条目表明user1user2成为朋友。

答案 1 :(得分:1)

可以将列表作为字符串存储在sql列中。

但是,您应该改为创建以主键为用户和朋友的Friendships表。
这样您就可以调用“友谊表”以拉出朋友列表。

否则,我建议您查看一个Graph数据库,该数据库也能很好地处理此类问题。

答案 2 :(得分:0)

如果要组织正确的数据存储,您应该了解有关相对数据库的更多信息。我建议您首先阅读this。通过一些规范化,它的性能会更好(对db进行的某些操作会更简单)。

如前所述,您应该制作另一个具有友谊的表格以执行第一个范式。对您而言,执行关系修改会容易得多。