2016-12-17 5 views
-1

私のコードにthoughtentriesというテーブルに行を挿入しようとしています。これはpublicスキーマにあります。私は、データベースへの接続がpsqlを使用しながら、THSのコマンドを実行することができる午前:PostgreSQLのエラー:関係がINSERT文に存在しません

INSERT INTO thoughtentries VALUES('12/17/2016 14:10', 'hi');

最初の列は2番目の列はタイプtextである長さ17でcharacter型です。

私は私が私のログにエラーを取得し、上記と同じコマンドを使用してINSERTに私のコードの試みがあります

ERROR: relation "thoughtentries" does not exist at character 13 STATEMENT: INSERT INTO thoughtentries VALUES('12/17/2016 14:11', 'hi');

私は、コマンドをフォーマットするpgpg-formatを使用しています。これを行うためのコードは次のとおりです。

client.connect(function (err) { 
    if (err) throw err 
    app.listen(3000, function() { 
    console.log('listening on 3000') 
    }) 
    var textToDB = format('INSERT INTO thoughtentries VALUES(%s, %s);', timestamp, "'hi'") 
    client.query(textToDB, function (err, result) { 
    if (err) { 
     console.log(err) 
    } 
    console.log(result) 
    client.end(function (err) { 
     if (err) throw err 
    }) 
    }) 
}) 

これを修正するにはどうすればよいですか?

+0

。データベースを修正する必要があります。 –

+0

@ vitaly-tテーブルは存在しますが、私はそれを上記のコマンドで行に挿入できることで検証しました。 –

答えて

0

テーブルが実際にpublicスキーマで作成されたことを確認しましたか?

SELECT * 
FROM information_schema.tables 
WHERE table_name = 'thoughtentries'; 

あなたがいることを確認したら、私は残りの二つの可能な説明を参照してください。あなたが誤って別のデータベースに接続している

  1. を。で、同じセッションで、確認します。

    select current_database(); 
    
  2. あなたsearch_path設定がpublicスキーマが含まれていません。そのような場合は、スキーマ修飾することができます修正するテーブルを:public.thoughtentries

:データ型timestamp、ないcharacter(17)としてタイムスタンプを保存します。
実際には、まったくcharacter(n)を使用していない:それは明確に存在していないthoughtentries`そのテーブルを `を示しています

+0

あなたの答えをありがとう。 –

+0

コードを使用して別のデータベースに接続しているかどうかはどのようにわかりますか?私はpublic.thoughtentriesを試して、同じエラーメッセージを出します。私はもっ​​と自分の検索パスを修正することに目を向けます。 –

+0

@AntonioCucciniello:同じホストとポートの同じデータベースに接続していることを確認してください。そして私は上記をもう少し追加しました。 –

関連する問題