繁体   English   中英

使用 node.js 将 id 插入到 postgresql 查询

[英]inserting id to postgresql query using node.js

 var Integer = require('integer'); client.query('INSERT INTO users (id, first_name, last_name, email, password, phone_number) VALUES ($1, $2, $3, $4, $5, $6)', [Integer(), req.body.firstName, req.body.lastName, req.body.username, pwd, req.body.phoneNumber]

这是我尝试将 id 发布到我的 postgreqsl 表的功能。 我通过 npm 为节点安装了整数,在 pg 中为我的 id 列设置了整数数据类型,但当我尝试将其放入数据库时​​它不起作用。

我有一个这样的错误:

{错误:整数的无效输入语法:“{“high”:0,“low”:0}“

当我将 uuivdv4 导入文件并通过 uuidv4() 更改 Integer() 时,(当然我记得更改 id 列中的数据类型)我有一个很好的插入。

 const uuidv4 = require('uuid/v4'); client.query('INSERT INTO users (id, first_name, last_name, email, password, phone_number) VALUES ($1, $2, $3, $4, $5, $6)', [uuidv4(), req.body.firstName, req.body.lastName, req.body.username, pwd, req.body.phoneNumber]

integer包不打算生成像uuid/v4那样的随机整数,它生成随机 UUID 字符串。 整数用于将字符串文字转换为数字,例如'123'123

以下将为您工作。

更新代码:

let randNumber= Math.floor(Math.random() * 10000000000);
client.query('INSERT INTO users (id, first_name, last_name, email, password, phone_number) VALUES ($1, $2, $3, $4, $5, $6)', [randNumber, req.body.firstName, req.body.lastName, req.body.username, pwd, req.body.phoneNumber]

编辑:将用户中的列Id更改为auto-increment并使用以下查询进行插入。

client.query('INSERT INTO users (first_name, last_name, email, password, phone_number) VALUES ($1, $2, $3, $4, $5)', [req.body.firstName, req.body.lastName, req.body.username, pwd, req.body.phoneNumber]

将其更改为autoincrement ,无需指定插入的id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM