使用sequelize的时候,mysql自增长Id总是 Duplicate entry '0' for key 'PRIMARY错误
发布于 7 年前 作者 yahue 6516 次预览 最后一次回复是 7 年前 来自 问答
生成的语句是:
INSERT INTO `apps` (`id`,`name`,`uid`,`created_at`,`updated_at`) VALUES (DEFAULT,\'yahue\',1,\'2018-03-28 12:22:20\',\'2018-03-28 12:22:20\');
sequelize自动增长id为 DEFAULT 还是会有 Duplicate entry ‘0’ for key 'PRIMARY 错误
我是要设置 mysql的什么属性吗?
有哪位大神遇到过这个问题?
11 回复
default是什么值?自增长的话不需要对id设值啊
来自酷炫的 CNodeMD
@zhangmingfeng 但是 sequelize 默认会把自增长的主键设置 default的呀
apps表的id是auto_increment的吗?
define里面也要把autoIncrement设置为true
主要还是要看表的主键是不是自增的
@sjnho
这样的
@burning0xb
这样设置是自增长的吧?
好吧 是数据库的问题
原来mysql的配置 my.cnf是
改成了
就好了,但是我还是不知道为什么就好了–!
原因是 数据库设置了 sqlmode 为 NO_AUTO_VALUE_ON_ZERO
@jinceon 的确是这样的 当时找了好久没有这方面资料,多谢了