我正在尝试将我的代码插入到名为thoughtentries
的表中。它位于public
架构中。我可以使用psql
连接到我的数据库时运行该命令:
INSERT INTO thoughtentries VALUES('12/17/2016 14:10', 'hi');
第一列是character
类型,长度为17.第二列的类型为text
。
当我的代码尝试使用上面的相同命令INSERT时,我在日志中收到错误:
ERROR: relation "thoughtentries" does not exist at character 13
STATEMENT: INSERT INTO thoughtentries VALUES('12/17/2016 14:11', 'hi');
我使用pg
和pg-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 :(得分:2)
您是否确认该表实际上是在<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
架构中创建的?
public
一旦您确认了这一点,我就会看到两种可能的解释:
您错误地连接到其他数据库。在同一会话中验证:
SELECT *
FROM information_schema.tables
WHERE table_name = 'thoughtentries';
您的select current_database();
设置不包含search_path
架构。如果是这种情况,您可以对表进行架构限定以进行修复:public
除此之外:将时间戳保存为数据类型public.thoughtentries
,而不是timestamp
实际上,根本不要使用character(17)
: