質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

2回答

217閲覧

'INSERT'を使ってboardを追加できません。

退会済みユーザー

退会済みユーザー

総合スコア0

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2018/06/21 11:55

編集2018/06/22 10:54

https://github.com/blobmon/simplechan
環境はLinux(ubuntu)です。

INSERT INTO boards (board, display_name) VALUES ('board1', 'Board 1'); INSERT INTO boards (board, display_name) VALUES ('board2', 'Board 2');

上の文を入力してboardを二つ目まで挿入したのですが、三つ目、四つ目を挿入したいです。しかし、データベースに入った後にINSERTを入力したら'INSERT 0 1 'と表示されるのですが、サイトにアクセスしたらboardが新しく追加されていません。
どうやって、追加するのですか?

あと、したのように入力したのですが、サイトのほうに行ってboardにアクセスしたら”404 not found”と表示されました。

BEGIN; >BEGIN INSERT INTO boards (board, display_name) VALUES ('board3', 'Board 3'); >INSERT 0 1 commit; >COMMIT

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/21 12:12

名前を変更するのではなくboardを追加する方法が知りたいのですが…
Orlofsky

2018/06/21 12:44

質問を放置するのは回答してくれた人への礼を欠きます。
退会済みユーザー

退会済みユーザー

2018/06/21 13:09

すいません。確かにその通りですね。以後気を付けます。
guest

回答2

0

ベストアンサー

INSERTした後 COMMIT していない、とか?

投稿2018/06/21 11:57

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/21 12:09

{commi;}と入力したら、'WARNING: there is no transaction in progress COMMIT' と表示されます。
Orlofsky

2018/06/21 12:16

commi; → commit; 3.4. トランザクション https://www.postgresql.jp/document/9.6/html/tutorial-transactions.html >PostgreSQLではトランザクションを構成するSQLコマンドをBEGINとCOMMITで囲んで設定します。 従って、この銀行取り引きのトランザクションの実際は次のようになります。 BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; -- 等々 COMMIT;
退会済みユーザー

退会済みユーザー

2018/06/21 13:07

BEGIN; INSERT INTO boards (board, display_name) VALUES ('board3', 'Board 3'); commit; と入力すればいいんですか?
Orlofsky

2018/06/21 13:17

実行できる環境をお持ちなら、やってみてから返事をされては? >PostgreSQL SQL 入門 でググるなり、書籍を買うなりしてひととおり勉強した方が良いです。
退会済みユーザー

退会済みユーザー

2018/06/21 14:06

だめです。コマンドを打ってすべてできたと思ったのですが、サイトには表示されません。
Orlofsky

2018/06/21 15:49

>だめです。 例外を取得してエラーメッセージを確認しては?そのエラーメッセージでググれば解決方法が見つかるかと。
Orlofsky

2018/06/21 15:50

エラーの時はROLLBACKが必要です。 上記URL >トランザクション処理の途中でコミットを行わない(アリスの口座残高が足りなかったような場合)と判断した場合は、COMMITではなくROLLBACKを使用して行った全ての更新を破棄します。
退会済みユーザー

退会済みユーザー

2018/06/22 10:03

でめです >エラーが出たのではなくコマンドは問題なく一通りできました。しかし、サイトのほうに行ってboard3にアクセスしたら、404 not found と表示されました。
Orlofsky

2018/06/22 10:10

INSERT文しか提示していませんが、質問に現象を再現できる最低限の情報を提示しないとまともなコメントは付かないでしょう。
退会済みユーザー

退会済みユーザー

2018/06/22 10:38

BEGIN; >BEGIN INSERT INTO boards (board, display_name) VALUES ('board3', 'Board 3'); >INSERT 0 1 commit; >COMMIT と表示されました。
Orlofsky

2018/06/22 10:45

>サイトのほうに行ってboard3にアクセスしたら、404 not found と表示されました。 を具体的に「質問」に書いては?
退会済みユーザー

退会済みユーザー

2018/06/22 10:51

確かにそうですね。けど、なんでこのようになるのかが調べてもわかりません。
Orlofsky

2018/06/22 10:57

nature_さんが >SQLはアプリ等を介さないで、psqlやpg_admin等を使い直接DBへInsertされているということでよろしかったでしょうか。 と書いているのは無視?
退会済みユーザー

退会済みユーザー

2018/06/22 11:02

すいません。今さっき、返信しました。
Orlofsky

2018/06/24 11:26

どう解決したのでしょうか? 同じような問題でここにたどり着いた人に理解できるコメントを残していただけますか?
退会済みユーザー

退会済みユーザー

2018/06/28 07:46 編集

ありがとうございます!!あとできなかった理由はboard名を大文字にしていたからでした。
guest

0

ご質問のSQLはアプリ等を介さないで、psqlやpg_admin等を使い直接DBへInsertされているということでよろしかったでしょうか。
Insertの後、対象レコードをSelectして確認してみてください。
レコードがあればアプリ側の問題の可能性が高いですので、DBではなくそちらの仕様を確認した方が良いかと思います。

投稿2018/06/22 00:17

f_horizon

総合スコア163

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/22 11:01

そうです。psqlで直接INSERTをしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問