【发布时间】:2019-11-08 16:52:12
【问题描述】:
我正在使用 MVC 节点处理节点中的待办事项列表,将 pug 和续集作为 ORM 和视图部分我用 pug 制作,所以当我启动我的应用程序时工作正常,但是当我尝试创建一个新项目时proyect它已经插入数据库中,出现错误1364
原则上这是一个添加到我的作品集的个人项目,我看到通过停用 STRICT SQL 模式有一个可能的解决方案,但我想知道是否有其他解决方案
model code Proyect.js
const Sequelize = require('sequelize');
//conect db
const db = require('../config/db');
const Proyects = db.define('proyects', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
},
name: Sequelize.STRING,
url: Sequelize.STRING
});
module.exports = Proyects;
我希望使用此模型在我的表中创建一个寄存器,但当我尝试实际错误时,下一个
Executing (default): CREATE TABLE IF NOT EXISTS `proyects` (`id` INTEGER NOT NULL auto_increment , `name` VARCHAR(255), `url` VARCHAR(255), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SHOW INDEX FROM `proyects`
conected to db
Executing (default): INSERT INTO `proyects` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?);
{ SequelizeDatabaseError: Field 'id' doesn't have a default value
code: 'ER_NO_DEFAULT_FOR_FIELD',
errno: 1364,
sqlState: 'HY000',
sqlMessage: 'Field \'id\' doesn\'t have a default value',
sql:
'INSERT INTO `proyects` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?);' },
【问题讨论】:
-
欢迎来到 Stack Overflow。如果您的问题有有效的答案,请将其标记为有效答案。
标签: mysql node.js express model-view-controller sequelize.js