-2

我的產品表,order_ID列需要從5000如何使自動遞增領域的應用製造商從5000

開始我已經試過這樣:

if (record.Order_ID) { 
    record.Order_ID = record.Order_ID + 1; 
} 
else { 
    record.Order_ID = 5000; 
} 
+0

我認爲我們需要看到更多的代碼,但是會建議你讀了前一記錄的順序編號,如果沒有以前的記錄將ID設置爲5000。如果有一個ID之前的記錄,添加一個對此。將前一個和新的記錄保存在不同的對象/變量中。 –

+0

這就是我一直試圖做...你知道如何讓以前的記錄?如果沒有以前的記錄不會返回錯誤? – liran

+0

看看在[簡單郵件合併教程]代碼(https://developers.google.com/apps-script/articles/mail_merge)。特別注意'getRowsData()'函數。這將使用對象鍵的標題行從電子表格中讀取數據。你可以閱讀所有的數據,如果需要或只是一部分。 –

回答

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(); 

如果你正在使用雲SQL數據後臺,你可以很容易地改變你的表:

ALTER TABLE Product AUTO_INCREMENT = 5000;