我希望在保存到数据库之前获取项目的ID ...我知道ID是在保存期间生成的,但有解决方案吗?
var photo = dbContext.photo.build(photo);
console.log(photo.id); // doesn't work
photo.save().success(function(photo) {
console.log(photo.id); // works
callback(photo);
});
答案 0 :(得分:0)
从理论上讲,您可以查询由自动增量生成的下一个ID,请参阅此How to get the next auto-increment id in mysql
但是,请记住,您必须在事务中执行此操作,在查询之前锁定表,以防止其他进程插入并占用您刚刚获得的ID。看看https://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
但是,这真的很复杂,非常非常快。你确定没有其他方法可以解决这个问题吗?保存记录后无法更新名称,这会非常简单吗?