Mysql Sequelize关联获取错误
我想“代码优先”生成表的“续集”,这里是我的代码Mysql Sequelize关联获取错误,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我想“代码优先”生成表的“续集”,这里是我的代码 var Sequelize = require('sequelize'); exports.createTable=函数(req,res){ var sequelize=newsequelize('myblog','root','') } 我得到了错误:error:ER\u BAD\u FIELD\u error:where子句中的未知列“User.id”…谁能帮我?thx很多字段bid和uid的用途是什么?Sequelize将自动为您创建一
var Sequelize = require('sequelize');
exports.createTable=函数(req,res){
var sequelize=newsequelize('myblog','root','')
}
我得到了错误:error:ER\u BAD\u FIELD\u error:where子句中的未知列“User.id”…谁能帮我?thx很多字段bid和uid的用途是什么?Sequelize将自动为您创建一个id,因此如果这些id都用于此目的,您应该删除它们,除非它们是必需的。我不是肯定的,但我猜如果您创建一个Sequelize的自动递增主键,可能不会自动创建一个id字段,因为您想使用它。但是协会希望该列是id。同样,我也不知道为什么,但我打赌如果你删除那些bid和uid字段,它会像你期望的那样工作
var Blog = sequelize.define('Blog',{
// the blog id
bid: { type: Sequelize.INTEGER, allowNull: false, autoIncrement: true ,primaryKey: true },
// bname
btitle: { type: Sequelize.STRING, allowNull: false },
// blog Content
bcontent: { type: Sequelize.TEXT, allowNull: false },
// blog date
bdate: { type: Sequelize.DATE, defaultValue: Sequelize.NOW }
});
var User = sequelize.define('User',{
// uid
uid: { type: Sequelize.INTEGER, allowNull: false ,autoIncrement: true, primaryKey: true },
// uname
uname: { type: Sequelize.TEXT, allowNull: false, },
// register date
regDate: { type: Sequelize.DATE, allowNull: false, defaultValue: Sequelize.NOW },
});
Blog.hasMany(User);
User.hasMany(Blog);
Blog.sync();
User.sync();
var blog = Blog.build({
btitle: 'this is a title',
bcontent: 'this is a Content!',
bdate: new Date()
});
var user1 = User.build({
uname: 'www',
uregDate: new Date()
});
var user2 = User.build({
uname: 'www2',
uregDate: new Date()
});
blog
.save()
.success(function () {
console.log('blog save suc');
});
user1
.save()
.success(function () {
console.log('user save suc')
});
user2
.save()
.success(function () {
console.log('user save suc')
});
blog
.setUsers([user1,user2])
.success(function () {
console.log('saved')
})
.error(function (err) {
console.log(err);
});
// blog.getUsers()
// .success(function (ascUser) {
// console.log(ascUser);
// });
sequelize
.sync()
.success(function () {
res.send('createTable ok!');
})
.error(function () {
res.send('createTable falied!');
});