반응형
여러 값이 포함된 MySQL 열을 외부 키로 사용할 수 있습니까?
저는 MySQL을 배우고 있으며 페도라 19에 MariaDB를 설치하고 있습니다.
열 할당의 중복성을 줄이기 위해 열에 여러 값을 포함해야 하는 시나리오가 있습니다.
아래 예제에서 각 값을 다음과 같이 지정할 수 있습니다.tags
의 열log
테이블 참조tag_id
의 란tags
테이블?
사용자들
user_id |
1 |
활동.
activitity_id |
1
로그.
user_id | activity_id | tags
1 | 1 | 1,3,5 # multiple foreign keys?
꼬리표
tag_id |
1 |
2 |
3 |
4 |
5 |
가능하지 않다면, 위의 데이터 시나리오를 기반으로 가장 실현 가능한 솔루션에 대한 논리를 제공할 수 있는 사람이 있습니까?
유사한 질문:
단일 필드에 여러 개의 외부 키를 사용할 수 있습니까?
여러 개의 (조건부) 가능한 값을 가진 MySQL 외부 키
하나의 열을 여러 개의 외부 키로 참조할 수 있습니다.
두 테이블을 연결하기 위해 "중간자" 테이블을 구성하지 않으려면 필드에서 쉼표로 구분된 값을 사용하면 됩니다.find_in_set
쿼리를 수행할 때 mysql 함수
find_in_set 사용
SELECT
log.user_id, log.activity_id, log.tags,
GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
log
LEFT JOIN tags
ON
FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
log.activity_id
GROUP_CONCAT는 필드를 그룹화하고 구분 기호로 구분합니다. 기본값은,
언급URL : https://stackoverflow.com/questions/17927131/is-it-possible-to-have-a-mysql-column-containing-multiple-values-as-foreign-keys
반응형
'source' 카테고리의 다른 글
마스터 분기와 개발 분기 간의 "git pull" 또는 "git merge" (0) | 2023.06.23 |
---|---|
깃 폴더의 크기를 줄일 수 있는 방법이 있습니까? (0) | 2023.06.23 |
오라클 테이블에 더 큰 크기의 데이터를 삽입/업데이트하는 방법은 무엇입니까? (0) | 2023.06.23 |
Linux에서 MariaDB/InnoDB가 DB 파일을 16KB 블록으로 읽는 이유는 무엇입니까? (0) | 2023.06.18 |
C# 배열에 값 추가 (0) | 2023.06.18 |