gpt4 book ai didi

sql - 在 SQL 中管理图片标签

转载 作者:可可西里 更新时间:2023-11-01 07:46:01 25 4
gpt4 key购买 nike

我想建立一个图片数据库。每张图片可能有 1 个或多个标签,例如:ParisApril 2010David

您将如何存储这些信息?我想有一个 Files 表,每个文件有 1 行,其中一列是用逗号分隔的标签 ID,例如:2,4,14,15

在另一个名为 Tags 的表中,我认为每个标签有 1 行,如下所示:

Tag ID    Tag Name
------ --------
1 April
2 David
3 Paris

您认为这样管理标签是个好主意吗?例如,如何轻松获取特定图片的所有标签名称?

最佳答案

您应该有 3 个表。文件、标签和文件标签。

FileTags 应该有文件 ID 和标签 ID。一行用于一个标签分配。

然后您可以轻松查询带有特定标签的所有文件:

select distinct f.* from Files f 
join FileTags ft on f.FileID = ft.FileID
join Tags t on ft.TagID = t.TagID
where t.TagName = 'Paris'

或任何文件的所有标签:

select distinct t.* from Files f 
join FileTags ft on f.FileID = ft.FileID
join Tags t on ft.TagID = t.TagID
where f.FileID = 7

关于sql - 在 SQL 中管理图片标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290183/

25 4 0