javascript - 由于 SequelizeUniqueConstraintError,SQLite PUT 方法不起作用
问题描述
我构建了一个 PUT 方法来更新/编辑 sqlite db 中的插入/现有记录,并且在触发 put 方法时,在网络选项卡中为 PUT 请求拉出以下错误消息。这个问题似乎与SequelizeUniqueConstraintError
它有关,它会在更新时自动创建一个 id。有什么想法或已知的解决方法吗?:
{
"error":"创建用户时出错。", "err":{
"name":"SequelizeUniqueConstraintError", "errors":[
{
"message":"id 必须是唯一的", "type ":"唯一违规", "路径":"id", "值":1, "origin":"DB", "instance":{
"id":1, "email":"el@gmail.com", "password":"$2a$08$HnRjfTzqsvwzobMQYM8bT.IkPbTSe6aOxy50l8/cUuuVhOgbl513.", "firstName":"el", "lastName":"leo" , "jobDescription":"test", "gains":"100", "costs":"50", "balance":50, "isAdmin":null, "youAgree":null, "createdAt":"2019- 03-03T09:39:31.295Z", "updatedAt":"2019-03-26T19:03:21.665Z" }, "validatorKey":"not_unique", "validatorName":null,“验证器参数”:[
]
}
],
"fields":[
"id"
],
"parent":{
"errno":19,
"code":"SQLITE_CONSTRAINT",
"sql":"INSERT INTO `Users` (`id`,`email`,`password`,`firstName`,`lastName`,`jobDescription`,`gains`,`costs`,`balance`,`isAdmin`,`youAgree`,`createdAt`,`updatedAt`) VALUES (1,'el@gmail.com','$2a$08$HnRjfTzqsvwzobMQYM8bT.IkPbTSe6aOxy50l8/cUuuVhOgbl513.','el','leo','test','100','50',50,NULL,NULL,'2019-03-03 09:39:31.295 +00:00','2019-03-26 19:03:21.665 +00:00');"
},
"original":{
"errno":19,
"code":"SQLITE_CONSTRAINT",
"sql":"INSERT INTO `Users` (`id`,`email`,`password`,`firstName`,`lastName`,`jobDescription`,`gains`,`costs`,`balance`,`isAdmin`,`youAgree`,`createdAt`,`updatedAt`) VALUES (1,'el@gmail.com','$2a$08$HnRjfTzqsvwzobMQYM8bT.IkPbTSe6aOxy50l8/cUuuVhOgbl513.','el','leo','test','100','50',50,NULL,NULL,'2019-03-03 09:39:31.295 +00:00','2019-03-26 19:03:21.665 +00:00');"
},
"sql":"INSERT INTO `Users` (`id`,`email`,`password`,`firstName`,`lastName`,`jobDescription`,`gains`,`costs`,`balance`,`isAdmin`,`youAgree`,`createdAt`,`updatedAt`) VALUES (1,'el@gmail.com','$2a$08$HnRjfTzqsvwzobMQYM8bT.IkPbTSe6aOxy50l8/cUuuVhOgbl513.','el','leo','test','100','50',50,NULL,NULL,'2019-03-03 09:39:31.295 +00:00','2019-03-26 19:03:21.665 +00:00');"
} }
这是供参考的示例 PUT 方法:
put (user) { console.log('put user: ', JSON.stringify(user)) var userId = user.id console.log('put userId: ', userId) return Api().put(users/${user.id}, user) // return Api().put('users', userId, user) }
解决方案
推荐阅读
- jquery - 带有 apify 的简单 bing“趋势搜索”刮板
- javascript - 根据过滤器从 Mongoose Array 中删除
- c - 在 else if 块中被忽略的函数
- firebase - Firebase Google Analytics - 按参数值过滤器显示事件数
- autohotkey - 如何正确“按住”多键“切换循环”热键?
- sql-server - 转义 AD 组名称中的特殊字符
- jakarta-ee - GlassFish 6 和 JDK 11
- python - 在Python中水平合并两个数据框
- vba - AccessVBA INPUT INTO qry 和可怕的错误 2342
- javascript - 在带有动作的 axios 数据的组件中使用 Vuex getter