繁体   English   中英

如何使用sqlite在单个列中插入多个值?

[英]How do I insert multiple values into a single column using sqlite?

我想在我的表中有一列可以存储可变数量的int值。 做这个的最好方式是什么? 我希望能够基于这些int进行选择,因此csv列表将不起作用。

基本上,我的表中有一堆行,这些行可以属于多个不同的类别。 我想将类别ID存储在我的表中,并能够根据它们所属的类别选择行。 我相信这被称为多对多关系。 我正在使用sqlite。

您将需要一个中间表,其中每一行都是一个项目和一个类别。

ItemID          Category
111             1
111             2
222             1
222             2
222             3
333             3

要根据类别(例如类别2)选择所有项目,可以执行以下查询

SELECT * FROM Items AS I INNER JOIN ItemsInCategories AS N ON N.ItemID = I.ItemID WHERE N.Category = 2

这将返回

ItemID
111
222

应该使用映射表来实现多对多关系。 不是通过破解多值列类型

例如,此BlogPost <-> Category示例:

Blog
  Id
  Title
  Content

Category
  Id
  Title

Blog_Category
  BlogId
  CategoryId

这意味着,当ID为12的BlogPost是类别3,5和10的一部分时,Blog_Category包含以下行:

12, 3
12, 5
12, 10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM