我有一個SQLite數據庫,我需要用不斷增加的計數器標記任何新記錄和任何修改的記錄。我必須避免競爭條件插入和更新的SQLite自動增量
這些都是我使用的那一刻我的兩個疑問:
插入:
INSERT INTO customer (id, name, counter) VALUES (myId, "blablabla", ((SELECT MAX(counter) FROM customer) + 1))
更新:
UPDATE customer SET name = "blablabla", counter = (SELECT MAX(counter) FROM customer) + 1 WHERE id = myId
是這安全嗎?我在Cordova移動應用上使用SQLite
如果不是,那麼最好的方法是什麼?我可以聲明counter
爲AUTO_INCREMENT
並且只有這兩個查詢嗎?
插入:
INSERT INTO customer (id, name) VALUES (myId, "blablabla")
更新:
UPDATE customer SET name = "blablabla", counter = (SELECT MAX(counter) FROM customer) + 1 WHERE id = myId
SQLite和MySQL是兩個完全不同的東西。 – tadman
讓我們去SQLite然後... BTW輝煌 - > https://github.com/ConsenSys/dapp-store-contracts/blob/master/contracts/ReviewModel.sol –
SQLite是一個很好的選擇嵌入到應用程序,因爲它不需要服務器進程。 – tadman