【发布时间】:2021-01-30 19:04:01
【问题描述】:
我有以下数据结构:ID(int)、Name(文本)、Info(文本)、List(文本)。
"List" 是一个字符串枚举列表,其语法为:"word1,word2,word3"
我希望能够添加具有以下内容示例的项目:ID=null、Name=Abc、Info=xyz、List=word3
随着这种行为:
- 如果尚不存在,请插入一个项目。
- 如果项目存在,则更新项目(基于“名称”),如下所示:忽略 ID |覆盖信息 |检查列表是否包含每个给定的单词,如果不包含,则将其附加“,”作为分隔符。
添加的每个项目将只有 1 个“列表”枚举,但数据库中的条目应该为每个条目收集它们,因此当查询它们时,可能有多个枚举。
所以问题是,我该怎么做?我可以想象这种方法也可能有效:
- 如果尚不存在,请插入一个项目。
- 否则返回现有项目,让我在 C# 中操作它(我自己连接“列表”),然后进行简单的更新。
在这种情况下,我想知道如何进行“插入或其他查询”?还是有更好的方法来完成这一切?
【问题讨论】:
-
是的,更好的方法是使用关系数据库作为关系数据库......并在另一个表中创建列表
-
@Selvin - 即使这些只是枚举的重复元素?它们由一个 ID、参考 ID 和一个字节或字符串组成,每个主要条目将有大约 1-5 个。但它们没有任何独特的信息,只是大约 5 个项目的副本。
标签: c# sqlite insert-update