【求助】user.create不能正常新增带openid的数据

来源:6-1 用户注册与Sequelize新增数据

皮皮酸胖胖

2020-02-06

现在遇到了一个问题
就是新增一个用户的时候,不能以我要求的字段去新增
根据要求应该是按照openid去新建一个用户
但是sql语句执行打印可以看出来 它只新增了一条默认数据
图片描述

数据库字段看起来也没啥问题
没有大小写的typo
图片描述

我又试了一下其他的 新增Like就是完全正常的
就是User新增的时候有问题。

麻烦大家帮我康康呜呜呜
一直被堵在这里没法继续了
谢谢!

写回答

2回答

皮皮酸胖胖

提问者

2020-02-10

//img.mukewang.com/szimg/5e40b9af09afbbaf27140242.jpg

我把create的命令换成了findOrCreate (条件是where: { openid })

想看看能不能解决这个问题

结果…(看上图) 

findOrCreate的Sql语句分步走,可以看到:

到find这一步的时候openid这个条件还是被使用了的,但是到了create的时候 openid这个字段又凭空消失了 →_→ 只留下空空荡荡的default字段

而且sql到了create这一步的时候前面都会自己先打印一个0或者1,错误预警吗这是?

----

现在我另辟蹊径了:先新建一条数据(失败的那种 只有default values),然后拿到这条数据的id,然后手动update这条数据where:{id} 把openid和一些本该直接新建出来的字段更新进去

---

但是我还是想知道出现我这个问题的原因是啥

我的User model的create是被我怎么玩脱儿了的

拜托各位了,本小白挠的头都秃了

0
1
7七月
解决了吗,我觉得这个问题你可以对比下其他表或者源代码。应该还是哪里设置出错了
2020-02-14
共1条回复

皮皮酸胖胖

提问者

2020-02-06

补充一下 

而且一旦我在model里要求了openid notNull

create的时候就会直接报错 notNull violation

但是新建之前 先打印openid出来发现都是有值、正常的!

也不知道为啥一直报null .... TAT

0
2
皮皮酸胖胖
回复
7七月
我检查了很多遍了。其他model都可以正常新增自定义字段的数据,就user这个模型不行。哪怕我把user model那里的字段设置全都改成跟老师一样,删掉user表之后 再插入新数据 也不行。navicat我也没有乱设置过… db.js我也检查了,跟老师的写法是一样的。还有哪里会有问题吗?我google过了,好像没人碰到我这个问题
2020-02-10
共2条回复

Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》

理解异步编程本质/培养面向对象思维,独立完成Node.js服务端开发

2223 学习 · 878 问题

查看课程