[英]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.