该项目有一个 SQLite 表,其中包含有关人员的信息:名字、姓氏等。一个人的值是“interests”,它采用多个字符串值。而且,随着项目的持续存在,可以添加新的兴趣类型,即它们的数量是固定的。
如何将多个字符串值写入一个字段,或者如果这种做法不好(很可能),我该如何以不同的方式实现该表?
类推我需要的代码List
该项目有一个 SQLite 表,其中包含有关人员的信息:名字、姓氏等。一个人的值是“interests”,它采用多个字符串值。而且,随着项目的持续存在,可以添加新的兴趣类型,即它们的数量是固定的。
如何将多个字符串值写入一个字段,或者如果这种做法不好(很可能),我该如何以不同的方式实现该表?
类推我需要的代码List
如何将多个字符串值写入一个字段
在任何情况下都不应该这样做!如果不是这种情况,则违反第一范式:
https://habr.com/ru/articles/254773/
使用链接表很容易解决您的问题。大致说来:
因此,我们首先创建人员和兴趣列表,然后填写“人员兴趣”表。该表中的每一行表示具有人员 ID 的人员具有具有兴趣 ID 的兴趣。
这是唯一正确的解决方案,称为“链接表”。它将一个人与兴趣联系起来。
因此,每个人都可以拥有任意数量的兴趣,并且可以随时更改他们的列表,而不会出现任何问题,只需从连接表中添加(或删除)一行即可。
同样,您可以随时编辑“兴趣”表,在其中添加新的兴趣或删除那些不再需要的兴趣。
使用此解决方案时,如果要删除的记录的 ID 仍在连接表中的某处使用,则需要向数据库结构添加对从“Interests”表中删除行的限制。这将由 SQL 服务器本身进行监控。