PostgreSQL:json 类型的输入语法无效

Kit*_*Kit 3 postgresql

请帮我检查这个查询命令。它得到语法错误:

var querydb = `INSERT INTO msg_conversations VALUES (DEFAULT, ${user_id}, null, null, null, null, '{"key": "value", "unique": "' || uuid_generate_v4() || '"}'::jsonb, to_timestamp('05 Dec 2000', 'DD Mon YYYY'), to_timestamp('05 Dec 2000', 'DD Mon YYYY') )`

db.sequelize.query(querydb)
Run Code Online (Sandbox Code Playgroud)

我使用 NodeJS。

预先感谢!

Per*_*Man 6

首先转换为文本,然后转换为 jsonb

通过选择陈述者训练这个技巧:

select  ('{"key": "value", "unique": "asdas'||to_timestamp( '05 Dec 2000', 'DD Mon YYYY' )||'"}' ::TEXT)::jsonb
Run Code Online (Sandbox Code Playgroud)

|| 仅用于文本类型

那么对于你的问题:

var querydb = `INSERT INTO msg_conversations VALUES (DEFAULT, ${user_id}, null, null, null, null, ('{"key": "value", "unique": "' || uuid_generate_v4() || '"}'::TEXT)::jsonb, to_timestamp('05 Dec 2000', 'DD Mon YYYY'), to_timestamp('05 Dec 2000', 'DD Mon YYYY') )`
Run Code Online (Sandbox Code Playgroud)