回答編集履歴

3

加筆修正

2018/07/30 01:11

投稿

退会済みユーザー
test CHANGED
@@ -25,3 +25,79 @@
25
25
  SQL文で「;」は文の終わりを意味しているので、
26
26
 
27
27
  まともに動かないんじゃないかなと。
28
+
29
+
30
+
31
+ ```php
32
+
33
+ <?php
34
+
35
+
36
+
37
+ $query = "INSERT INTO member_relationship(member_id_to, member_id_from, is_friend, created_at, updated_at);";
38
+
39
+ $query .= "SELECT i.id,you.id,1,NOW(),NOW();";
40
+
41
+ $query .= "FROM member i;";
42
+
43
+ $query .= "JOIN member you;";
44
+
45
+ $query .= "ON i.id <> you.id;";
46
+
47
+ $query .= "LEFT OUTER JOIN member_relationship relation;";
48
+
49
+ $query .= "ON relation.member_id_to = i.id AND relation.member_id_from = you.id;";
50
+
51
+ $query .= "WHERE relation.id IS NULL;";
52
+
53
+
54
+
55
+ var_dump($query);
56
+
57
+ ```
58
+
59
+ > string(318) "INSERT INTO member_relationship(member_id_to, member_id_from, is_friend, created_at, updated_at);SELECT i.id,you.id,1,NOW(),NOW();FROM member i;JOIN member you;ON i.id <> you.id;LEFT OUTER JOIN member_relationship relation;ON relation.member_id_to = i.id AND relation.member_id_from = you.id;WHERE relation.id IS NULL;"
60
+
61
+
62
+
63
+ こんなSQL文になってますよ。
64
+
65
+
66
+
67
+ ```php
68
+
69
+ <?php
70
+
71
+
72
+
73
+ $query = <<<EOT
74
+
75
+ INSERT INTO member_relationship(member_id_to, member_id_from, is_friend, created_at, updated_at)
76
+
77
+ SELECT i.id,you.id,1,NOW(),NOW()
78
+
79
+ FROM member i
80
+
81
+ JOIN member you
82
+
83
+ ON i.id <> you.id
84
+
85
+ LEFT OUTER JOIN member_relationship relation
86
+
87
+ ON relation.member_id_to = i.id AND relation.member_id_from = you.id
88
+
89
+ WHERE relation.id IS NULL;
90
+
91
+ EOT;
92
+
93
+
94
+
95
+ var_dump($query);
96
+
97
+ ```
98
+
99
+ > string(325) "INSERT INTO member_relationship(member_id_to, member_id_from, is_friend, created_at, updated_at) SELECT i.id,you.id,1,NOW(),NOW() FROM member i JOIN member you ON i.id <> you.id LEFT OUTER JOIN member_relationship relation ON relation.member_id_to = i.id AND relation.member_id_from = you.id WHERE relation.id IS NULL;"
100
+
101
+
102
+
103
+ ならとりあえず動きそうなSQL文になる気がします。

2

加筆修正

2018/07/30 01:11

投稿

退会済みユーザー
test CHANGED
@@ -3,6 +3,18 @@
3
3
  mysqli_*系関数もしくはPDO接続でないとつながらないですよね。
4
4
 
5
5
  pg_*系はあくまでPostgreSQL専用ですので。
6
+
7
+
8
+
9
+ mysqlデータベースに接続する方法の解説記事:
10
+
11
+ [PHPでデータベースに接続するときのまとめ - Qiita](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
12
+
13
+ 内容が濃厚ですので一度で理解できないかもしれませんが、
14
+
15
+ とても重要なことが散りばめられているので
16
+
17
+ きちんと理解できるよう頑張ってください。
6
18
 
7
19
 
8
20
 

1

加筆修正

2018/07/30 01:08

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,15 @@
1
+ データベースサーバーはmysqlなので、
2
+
3
+ mysqli_*系関数もしくはPDO接続でないとつながらないですよね。
4
+
5
+ pg_*系はあくまでPostgreSQL専用ですので。
6
+
7
+
8
+
9
+ SQL文それぞれ、
10
+
1
- INSERT INTO文の後ろに「;」あるのはジョークですか?
11
+ 後ろに「;」あるのはジョークですか?
12
+
13
+ SQL文で「;」は文の終わりを意味しているので、
14
+
15
+ まともに動かないんじゃないかなと。