我有一个产品表,order_ID
列需要从5000开始
我试过这个:
if (record.Order_ID) {
record.Order_ID = record.Order_ID + 1;
}
else {
record.Order_ID = 5000;
}
答案 0 :(得分:3)
如果您需要使用云端硬盘表来实现它:
// onCreate model's event handler
// it receives about-to-create record as parameter
var ID_START_FROM = 5000;
var lock = LockService.getScriptLock();
// we need to lock our script, to prevent IDs inconsistency
// wait 3 seconds for script lock
lock.waitLock(3000);
// Run query to get latest ID
var query = app.models.Product.newQuery();
query.sorting.Id._descending();
query.limit = 1;
var records = query.run();
var next_id = records.length > 0 ? records[0].Id + 1 : ID_START_FROM;
record.Id = next_id;
// ...do other stuff
lock.releaseLock();
如果您使用Cloud SQL作为数据后端,则可以轻松更改表格:
ALTER TABLE Product AUTO_INCREMENT = 5000;