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

回答編集履歴

4

加筆修正

2018/06/21 00:32

投稿

退会済みユーザー
answer CHANGED
@@ -27,4 +27,10 @@
27
27
  `truncate table boards cascade;`
28
28
  とします。
29
29
  しかし、これによってテーブルpostsにも影響が出て、別の問題が生じる可能性があります。
30
- 情報があまりに不足のため、問題が生じるのか生じないのかもこちらでは判断できません。
30
+ 情報があまりに不足のため、問題が生じるのか生じないのかもこちらでは判断できません。
31
+ 回答する側も、質問者さんが提供する情報の上でどうすれば解決するのか考えるので、
32
+ なにか大前提になっていること(例えばフレームワークやライブラリを使っているとか)も併せて記載してくれないと、
33
+ 目先の問題解決のために行う対策によって、さらなる問題や障害が発生しうるところまで予見できません。
34
+
35
+ ・データベースの構造を第三者が把握できるための情報。
36
+ ・関係するテーブルのデータを使って、どんな処理を行うのか、その先の事柄。

3

加筆修正

2018/06/21 00:32

投稿

退会済みユーザー
answer CHANGED
@@ -21,4 +21,10 @@
21
21
  INSERT INTO文が実行できます。
22
22
 
23
23
  以下、リファレンス:
24
- [TRUNCATE](https://www.postgresql.jp/document/9.6/html/sql-truncate.html)
24
+ [TRUNCATE](https://www.postgresql.jp/document/9.6/html/sql-truncate.html)
25
+
26
+ 他のテーブルと外部キーforeign keyの関係性を持っているために削除できなくなっているようなので、
27
+ `truncate table boards cascade;`
28
+ とします。
29
+ しかし、これによってテーブルpostsにも影響が出て、別の問題が生じる可能性があります。
30
+ 情報があまりに不足のため、問題が生じるのか生じないのかもこちらでは判断できません。

2

加筆修正

2018/06/20 11:16

投稿

退会済みユーザー
answer CHANGED
@@ -4,4 +4,21 @@
4
4
  RENAME COLUMN board TO 新しい名前;
5
5
 
6
6
  ただしロールの権限不足で失敗する場合もあるので、
7
- その時は権限の強いユーザーで実施すると。
7
+ その時は権限の強いユーザーで実施すると。
8
+
9
+ ---
10
+
11
+ サンプルデータでテーブルboardsにデータ格納したけどデータを直したい、
12
+ という意図だと思って回答を直します。
13
+
14
+ サンプルデータとしてテーブルboardsに格納されているデータをすべて削除して、
15
+ はじめからINSERT INTO文でデータを格納していったほうが
16
+ 解決が早い気がします。
17
+
18
+ `truncate table boards;`
19
+ を実行すれば、テーブルboardsに格納されているデータはすべて削除されます。
20
+ レコード数はゼロになりますので、重複キーのエラーなどなく
21
+ INSERT INTO文が実行できます。
22
+
23
+ 以下、リファレンス:
24
+ [TRUNCATE](https://www.postgresql.jp/document/9.6/html/sql-truncate.html)

1

加筆修正

2018/06/20 10:44

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,7 @@
1
1
  [ALTER TABLE](https://www.postgresql.jp/document/9.6/html/sql-altertable.html)文でしょうね。
2
2
 
3
3
  ALTER TABLE boards
4
- RENAME COLUMN board TO 新しい名前;
4
+ RENAME COLUMN board TO 新しい名前;
5
+
6
+ ただしロールの権限不足で失敗する場合もあるので、
7
+ その時は権限の強いユーザーで実施すると。