因此,客户向我提供了来自用户"1,23,23,abc,ggg,544,tf4,"
的{{1}}字符串。可以有无限数量的元素,没有空格只是值,值,......结构。我有用户表(用户uId(密钥),名称等)。我有流表(sId(key),externalID等值)。用户发给我externalId的。而且我需要hawe externalId的播放列表(不是我的sId)。我需要一些方法将这样的数组存储到我的数据库中,并能够从数据库中获取它。
我需要做两件事
12
那么什么是最好的方法(这里最好的意思是shourt(少量)代码)
答案 0 :(得分:1)
这是一种经典的一对多关系。一个用户有许多外部ID :
User: id, name
UserExternal: user_id, id # both fields as PK, id as CHAR
要获取连接到用户的每个外部ID,只需执行以下查询:
SELECT u.id, u.name, ue.id AS external
FROM user u
LEFT JOIN user_external ue ON u.id = ue.user_id
答案 1 :(得分:1)
我认为,这样的事情应该有效:
User: user_id
Value: user_id, value, id
根据用户1,23,23,abc,ggg,544,tf4
的示例12
,您将拥有:
TABLE User
user_id
12
和
TABLE Value
user_id | value | id
12 | 1 | 0
12 | 23 | 1
12 | 23 | 2
12 | ggg | 4
12 | abc | 3
...
id将用于每个用户的排序列表,因此如果您想要检索它,只需使用此查询:SELECT value FROM VALUE WHERE user_id = 12 ORDER BY id