表结构:
{
id: { type: DataTypes.INTEGER.UNSIGNED, autoIncrement: true, primaryKey: true, allowNull: false },
enid: { type: DataTypes.STRING(100), unique: true, allowNull: false },
name: { type: DataTypes.STRING(100), unique: true, allowNull: false },
update_time: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, allowNull: false },
index: { type: DataTypes.TINYINT.UNSIGNED, defaultValue: 0, allowNull: false },
pid: { type: DataTypes.INTEGER.UNSIGNED, allowNull: true },
logo: { type: DataTypes.STRING(200), allowNull: true },
view: { type: DataTypes.INTEGER.UNSIGNED, defaultValue: 0, allowNull: false },
intro: { type: DataTypes.STRING(1000), allowNull: false },
}
同步到数据库后:
第一次插入数据正常:
插入第二条数据就会报错:
(数据: { enid: 'ddfffff', name: 'Ddfffff', index: 7, pid: null, intro: 'aaaaaaaaaaaaaaaaa' })
大佬们看看是哪里的问题??
第二次插入数据的时候如果添加id: 1,就能插入成功,否则失败!
自增的数据是不需要专门声明的啊。我看了下我以前的sequelize项目:
就拿这张表来说,它是有默认的自增主键的,sequelize给的。不过在声明这张表的时候,自增主键是不写进去的。
另外,我后来用prisma了,简洁大方,效率高,还可以自己生成迁移,真的,回不来了。我用了prisma之后再也没用过sequelize。