CNode

egg里使用sequelize主键自增的问题

问答
Ggejigejigeji发布于7 年前最后回复6 年前9 回复10242 浏览0 收藏

我的model //model/user.js 1.png

//我的调用 //controller/home.js 2.png

补充:我按照EGG的官网引入了sequelize的官方实例,在sequelize.create()插入数据的时候,第一条数据不报错,第二条数据报错:Duplicate entry '0' for key 'PRIMARY',引起问题的原因是因为sequelize在插入数据时autoIncrement并没有起作用,主键id一直都是0,并没有自增。

拜托大佬们了,已经百度全网了,收到的回答就是让我设置自增ID,可是从navicate for mysql里面来看已经是自增的了,创建model里也指定autoIncrement了。

查看回复

回复 (9)

G
gejigejigeji#1·7 年前

哇。神奇的网络。

面试时各种大神各种吹。天昏地暗日月无光造航母, 结果连一个官网示例问题都没人搞得定。哇。 神奇网络

9
974806047#2·6 年前

歪个楼,修改表结构的时候感觉使用sync({alter: true}) 比较好一点, sync({ force: true })的话取决于你的数据库原来的设置,还是可能会出问题。

K
KevinHades#3·6 年前

我以为终于有人发现了sequelize的隐藏bug,显然不是。

4
472647301#4·7 年前

会不会是User.sync()的原因?尝试注释一下看看

W
wuyugege#7·7 年前

我用sync()也出过问题,不知道为什么,然后用的migration,就可以了

O
oneWalker#8·7 年前

我的建议是尽量避免用sync(),因为sync真的会出问题,有时候服务都启动不起来,我之前就遇到过;

G
gejigejigeji#9·6 年前

mysql my.ini腾讯云centos初始化安装的时候,会自动配置不允许自增,删掉就行了。S开头的单词我忘了。

哎,还是造福下社会吧。

参与回复
登录后即可参与回复。登录