teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

調整

2018/05/31 02:56

投稿

yambejp
yambejp

スコア117944

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  - チェックボックスの項目を利用してDBにデータを登録するなら「set型」を使う
4
4
  - 特に制限なくデータの羅列でいいなら文字列型でもよい
5
- - チェックボックスの項目が高い頻度で増減するなら別途正規化を行う
5
+ - チェックボックスの項目が高い頻度で不特定に増減するなら別途正規化を行う
6
6
 
7
7
  上記1番の例をあげておきます
8
8
  ```SQL

1

追記

2018/05/31 02:56

投稿

yambejp
yambejp

スコア117944

answer CHANGED
@@ -18,6 +18,14 @@
18
18
  - set型なら重複をゆるさない
19
19
  - set型なら投入順にかかわらずsetに登録順にデータが格納される
20
20
 
21
+ さらに、set型はデータ自体がビットで登録されているため
22
+ データ投入にbit和を利用できます
23
+ ```SQL
24
+ insert into tbl(v1,v2) values(1,1),(5,5);
25
+ ```
26
+ ※上記v1=1→「A」が登録される
27
+ v1=5→「A,C」が登録される
28
+
21
29
  このデータからv1にAを含むレコードを取り出すためにはfind_in_set関数を利用します。
22
30
 
23
31
  ```SQL