初次使用egg框架(我是一个php开发),在访问 Mysql 的时候使用了egg官方推荐的egg-mysql,虽然初次使用还算顺利但是也遇到了点问题,今天整理记录下。
插入数据
let data = {
field1: 'value',
field2: 'value',
};
this.app.mysql.insert('table-name', data)
删除数据
let where = {
field1: 'value'
}
this.app.mysql.delete('table-name', where ;
更新数据
let row = {
id: 123,
name: 'fengmk2',
};
this.app.mysql.update('table-name', row);
更新数据会根据主键 id
进行更新,如果你的主键不是ID,那么会一个错误:
Can not auto detect update condition, please set options.where, or make sure obj.id exists
报错说明了 无法自动检测更新条件,请设置 options,也就是update方法的第三个参数
let row = {
name: 'fengmk2'
};
let options = {
where: {
user_id: 1
}
};
this.app.mysql.update('table-name', row, options );
查询数据
this.app.mysql.select('table-name',{
where: { status: 1 }, //查询条件
orders: [['created_at','desc'], ['id','desc']], //查询排序
limit: 10, //查询数量
offset: 0, //偏移量 如果是分页:(page - 1) * limit
columns: ['id', 'name'] //查询的字段
});
原生sql查询
this.app.mysql.query("SELECT * FROM table-name WHERE status=1 ……");