質問編集履歴

8

実装部分の追加

2018/08/28 02:48

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -70,6 +70,18 @@
70
70
 
71
71
  ```php
72
72
 
73
+ $data = $_POST["Data"];
74
+
75
+ if (isset($data["プロジェクト_id" ])) { $projectID = $data["プロジェクト_id"];}
76
+
77
+ if (isset($data["プロジェクト名" ])) { $projectName = $data["プロジェクト名"];}
78
+
79
+ if (isset($data["プレフィックス" ])) { $prefix = $data["プレフィックス"];}
80
+
81
+ if (isset($data["説明"])) { $description = $data["説明"];}
82
+
83
+
84
+
73
85
  try {
74
86
 
75
87
  $stmt = $db->prepare("
@@ -111,3 +123,35 @@
111
123
  }
112
124
 
113
125
  ```
126
+
127
+
128
+
129
+ DBには以下のレコードがあります。
130
+
131
+
132
+
133
+ |プロジェクト_id|プロジェクト名|プレフィックス|説明|
134
+
135
+ |:--:|:--:|:--:|:--:|
136
+
137
+ |︙|︙|︙|︙|
138
+
139
+ |18|テスト|test|テストプロジェクト|
140
+
141
+
142
+
143
+ クライアント側ではDBから取得した値を表示していますので、
144
+
145
+ 値に変更がない場合でもData配列を送り、SQL文を組み立てています。
146
+
147
+
148
+
149
+ このレコードに対して上記のPHPを実行したところ以下のエラーが帰ってきました。
150
+
151
+
152
+
153
+ ```
154
+
155
+ SQLSTATE[23000]: Integrity constraint violation: 19 column プレフィックス is not unique
156
+
157
+ ```

7

実装部分の追加

2018/08/28 02:47

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -36,11 +36,11 @@
36
36
 
37
37
  CREATE TABLE `project` (
38
38
 
39
- `projectId` INTEGER PRIMARY KEY AUTOINCREMENT,
39
+ `プロジェクト_id` INTEGER PRIMARY KEY AUTOINCREMENT,
40
40
 
41
- `projectName` VARCHAR ( 20 ) NOT NULL DEFAULT 'no project name' UNIQUE
41
+ `プロジェクト名` VARCHAR ( 20 ) NOT NULL DEFAULT 'no project name' UNIQUE
42
42
 
43
- `prefix` VARCHAR ( 10 ) NOT NULL DEFAULT 'WP' UNIQUE,
43
+ `プレフィックス` VARCHAR ( 10 ) NOT NULL DEFAULT 'WP' UNIQUE,
44
44
 
45
45
  `count` INTEGER NOT NULL DEFAULT 0,
46
46
 
@@ -61,3 +61,53 @@
61
61
  ただ、もう一度DB browsere for Sqlite のDBツールで試した結果
62
62
 
63
63
  エラーにはなりませんでした。
64
+
65
+
66
+
67
+ 実装はPHPで行っています。
68
+
69
+
70
+
71
+ ```php
72
+
73
+ try {
74
+
75
+ $stmt = $db->prepare("
76
+
77
+ UPDATE プロジェクト SET
78
+
79
+ プロジェクト名=:projectName, プレフィックス=:prefix, 説明=:description
80
+
81
+ WHERE プロジェクト_id=:projectID
82
+
83
+ ;");
84
+
85
+
86
+
87
+ $stmt->bindParam(":projectName", $projectName);
88
+
89
+ $stmt->bindParam(":prefix", $prefix);
90
+
91
+ $stmt->bindParam(":description", $description);
92
+
93
+ $stmt->bindParam(":projectID", $projectID);
94
+
95
+
96
+
97
+ $stmt->execute();
98
+
99
+
100
+
101
+ $result["Result"]= true;
102
+
103
+
104
+
105
+ } catch (PDOException $e) {
106
+
107
+ $result["Result"]= false;
108
+
109
+ $result["Reason"] = $e->getMessage();
110
+
111
+ }
112
+
113
+ ```

6

SQL文を追加

2018/08/28 01:33

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- INSERT INTO project(projectName = 'WP');
51
+ INSERT INTO project(projectName) VALUES('WP');
52
52
 
53
53
 
54
54
 

5

SQL文を追加

2018/08/27 06:07

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,11 @@
48
48
 
49
49
 
50
50
 
51
+ INSERT INTO project(projectName = 'WP');
52
+
53
+
54
+
51
- UPDATE project SET projectName='WP' WHERE projectId id=22
55
+ UPDATE project SET projectName='WP' WHERE projectId id=22;
52
56
 
53
57
  ```
54
58
 

4

SQL文の追加

2018/08/27 06:06

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -34,6 +34,20 @@
34
34
 
35
35
 
36
36
 
37
+ CREATE TABLE `project` (
38
+
39
+ `projectId` INTEGER PRIMARY KEY AUTOINCREMENT,
40
+
41
+ `projectName` VARCHAR ( 20 ) NOT NULL DEFAULT 'no project name' UNIQUE
42
+
43
+ `prefix` VARCHAR ( 10 ) NOT NULL DEFAULT 'WP' UNIQUE,
44
+
45
+ `count` INTEGER NOT NULL DEFAULT 0,
46
+
47
+ );
48
+
49
+
50
+
37
51
  UPDATE project SET projectName='WP' WHERE projectId id=22
38
52
 
39
53
  ```

3

SQL文を追加

2018/08/27 05:59

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,23 @@
23
23
 
24
24
 
25
25
  よろしくお願いします。
26
+
27
+
28
+
29
+ 以下のSQLite文を実行しています。
30
+
31
+
32
+
33
+ ```SQL
34
+
35
+
36
+
37
+ UPDATE project SET projectName='WP' WHERE projectId id=22
38
+
39
+ ```
40
+
41
+
42
+
43
+ ただ、もう一度DB browsere for Sqlite のDBツールで試した結果
44
+
45
+ エラーにはなりませんでした。

2

タグの追加

2018/08/27 05:30

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
File without changes

1

書式の改善

2018/08/27 04:44

投稿

ryuuutyenn
ryuuutyenn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  以下のページのように、自分自身はバリデーション対象から外すことはSQLITEではできないのでしょうか?
12
12
 
13
- https://qiita.com/qwe001/items/997016be3ca4c7bde47e
13
+ [Laravel5のバリデーションの重複チェックで自分自身は除外する方法](https://qiita.com/qwe001/items/997016be3ca4c7bde47e)
14
14
 
15
15
 
16
16