質問編集履歴

3

修正

2020/06/29 08:24

投稿

yakan
yakan

スコア19

test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,11 @@
43
43
  いまいちNULLのメリットやデメリットが理解できておりません…
44
44
 
45
45
  あると何が便利なのでしょうか?
46
+
47
+ ###修正
48
+
49
+ 誤解があったため内容を次のように修正させていただきます。
50
+
51
+ 「NULL」か「空文字列」か、どちらにすべきか?でした。
52
+
53
+ ご指摘頂いたmaisumakun様、ありがとうございます。

2

外部キー追加

2020/06/29 08:24

投稿

yakan
yakan

スコア19

test CHANGED
File without changes
test CHANGED
@@ -8,13 +8,17 @@
8
8
 
9
9
  ```
10
10
 
11
- CREATE TABLE IF NOT EXISTS mytable (
11
+ CREATE TABLE IF NOT EXISTS mytable1 (
12
12
 
13
13
  ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
14
14
 
15
15
  mytable2_ID INT(10), # いずれかが入る
16
16
 
17
- mytable3_ID INT(10) # いずれかが入る
17
+ mytable3_ID INT(10), # いずれかが入る
18
+
19
+ FOREIGN KEY (mytable2_ID) REFERENCES mytable2(ID),
20
+
21
+ FOREIGN KEY (mytable3_ID) REFERENCES mytable3(ID)
18
22
 
19
23
  ```
20
24
 
@@ -22,13 +26,17 @@
22
26
 
23
27
  ```
24
28
 
25
- CREATE TABLE IF NOT EXISTS mytable (
29
+ CREATE TABLE IF NOT EXISTS mytable1 (
26
30
 
27
31
  ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
28
32
 
29
33
  mytable2_ID INT(10) DEFAULT NULL,
30
34
 
31
- mytable3_ID INT(10) DEFAULT NULL
35
+ mytable3_ID INT(10) DEFAULT NULL,
36
+
37
+ FOREIGN KEY (mytable2_ID) REFERENCES mytable2(ID),
38
+
39
+ FOREIGN KEY (mytable3_ID) REFERENCES mytable3(ID)
32
40
 
33
41
  ```
34
42
 

1

カラム訂正

2020/06/29 08:09

投稿

yakan
yakan

スコア19

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
+ テーブルに以下
2
+
1
- テーブルに以下nameA、nameBのいずれかが入るカラムがあるとします。
3
+ ~~nameA、nameB のいずれかが入るカラムがあるとします。~~
4
+
5
+ mytable2_ID、my_table3_ID のいずれかが入るカラムがあるとします。
2
6
 
3
7
 
4
8
 
@@ -8,9 +12,9 @@
8
12
 
9
13
  ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
10
14
 
11
- nameA VARCHAR(10), # いずれかが入る
15
+ mytable2_ID INT(10), # いずれかが入る
12
16
 
13
- nameB VARCHAR(10) # いずれかが入る
17
+ mytable3_ID INT(10) # いずれかが入る
14
18
 
15
19
  ```
16
20
 
@@ -22,9 +26,9 @@
22
26
 
23
27
  ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
24
28
 
25
- nameA VARCHAR(10) DEFAULT NULL,
29
+ mytable2_ID INT(10) DEFAULT NULL,
26
30
 
27
- nameB VARCHAR(10) DEFAULT NULL
31
+ mytable3_ID INT(10) DEFAULT NULL
28
32
 
29
33
  ```
30
34