【发布时间】:2019-02-26 14:45:03
【问题描述】:
我有两张表:profile 和 hobbie
每个个人资料都可以选择最多的爱好,哪些内容将在 profile.p_hobbies 中作为 id 数组保存(例如:[1,5,7,8,9])
现在我想获取个人资料爱好的名称。 我认为它应该是一些链接:
SELECT hobbie.h_name
FROM profile, hobbie
WHERE profile.p_id=37 AND hobbie.h_id IN profile.p_hobbies
结果是失败 #1064
#1064 - Fehler in der SQL 语法。 Bitte die korrekte Syntax im Handbuch nachschlagen bei 'profile.p_hobbies LIMIT 0, 25' in Zeile 3
我已经在其他 SQL 查询中使用了 IN 方法。如果我要使用的 Array 也是 SQL 数据库中的数据,我想我不能使用它?
如果不使用多个查询,我可以做些什么吗?
我正在使用 MariaDB-9
【问题讨论】:
-
MySQL 不像 PostgreSQL 那样支持数组。第二次将 CSV 存储为列值并不是最好的主意。
-
表之间是什么关系?它们是如何联系起来的?