如何在数据库中使用与数据库中另一个表相关的数组?
用户表:
Name | languages_id
Anas | 1,2,3
语言表:
id | language
1 | English
2 | Arabic
它的工作与否?!你知道我在yii中可以用什么来做这件事吗?
答案 0 :(得分:3)
不要这样做。
请勿将多个项目存储为逗号分隔列it is really bad。
您应该保留表normalized,方法是在UsersLanguages
和USERS
表之间创建一个新表Languages
作为多对多表。像这样S :::
<强> Users
强>:
UserId
,UserName
, <强> Languages
强>
LanguageId
,LanguageName
, <强> UserLanguages
强>:
UserId
外键引用Users(UserId)
,LanguageId
外国kery参考Languages(LanguageId)
。答案 1 :(得分:1)
您可以使用FIND_IN_SET
。
SELECT
name,
language
FROM
users
INNER JOIN
languages ON FIND_IN_SET(languages.id, languages_id) != 0
GROUP BY
name
虽然Mahmoud Gamal的评论可能是更好的方式。