我尝试使用sequelize在mysql表中插入数据data,但它插入null而不是值
我正在尝试在我的文件 userController.js 中执行以下代码
var db = require('../../../../config/db');
var bcrypt = require('bcryptjs');
TBL_USERS = db.connection.define('users');
var usersController = {
register : function(req,res,next){
db.connection.sync().then(function(){
TBL_USERS.create({
username:req.body.username,
email:req.body.email,
password:bcrypt.hashSync(req.body.password),
role_id:2
}).then(function(insertResult){
//console.log("INSERT...............",insertResult);
let send_data = {success:true,status:200,message:"success",data:insertResult};
return res.json(send_data);
})
.catch(function(err){
console.error("query error =>",err);
return ReE(err, 200,' register fail1',err);
});
})
.catch(function(err){
console.error("sync error =>",err);
return ReE(err, 200,'register fail2',err);
});
}
module.exports = usersController;
它返回 success
message
,但它只插入 field_id
、createdAt
和 updatedAt
注意:我已经使用 express-validator
验证了所有值,因此我没有在
TBL_USERS = db.connection.define('users');
请帮我解决这个问题
最佳答案
需要在users.js或数据库模型文件中定义数据类型。添加两行如下
username: DataTypes.STRING,
password: DataTypes.STRING
没有理由不工作。谢谢
关于mysql - 如何在express.js中使用sequelize在mysql表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48905168/