module.exports = function (sequelize, Sequelize) {

    var User = sequelize.define('user', {
        id: { autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER },
        firstname: { type: Sequelize.STRING, notEmpty: true },
        lastname: { type: Sequelize.STRING, notEmpty: true },
        //username: { type: Sequelize.TEXT },
        //about: { type: Sequelize.TEXT },
        mobileno: { type: Sequelize.STRING },
        email: { type: Sequelize.STRING, validate: { isEmail: true } },
        password: { type: Sequelize.STRING, allowNull: false },
        last_login: { type: Sequelize.DATE },
        //status: { type: Sequelize.ENUM('active', 'inactive'), defaultValue: 'active' }

    });

    return User;
}

其他的一切都发布得很好,但是mobileno在数据库中被发布为null
我试着将mobile no设置为allowNull = false,但这给了我一个错误。
我也试着把字符串改成文本,但也没用…
mysql - 在数据库中连续发布NULL(MySql)-LMLPHP
这是添加allownull=false之后的eroor。

最佳答案

你的问题在于你的数据而不是你的续集模型
基于您的问题,我认为您发送了mobileno字段的空值
关于AllowNull参数:当您将设置为false时,这意味着如果您不传递参数(在您的情况下会发生这种情况),sequelize将返回错误。
默认情况下AllowNull值为true
我的建议是在插入查询之前检查您的数据,当您使用sequelize检查控制台运行create命令时,它将显示您插入到sql格式

10-05 23:14