[英]Inserting timestamp in sqlite in Javascript
我希望Sqlite自動填充時間戳,但是Javascript不允許我僅傳遞2個值(例如VALUES (?, ?)
),並讓Sqlite處理時間戳的第三個值。 我知道我可以用new Date()
提供第3個值,但這不是首選方法。
如果按原樣運行以下代碼,則timestamp列全為空。
什么是正確的方法?
db.serialize(function () {
db.run("CREATE TABLE if not exists songs (title TEXT, lyric TEXT, timestamp DATATIME DEFAULT CURRENT_TIMESTAMP)");
var stmt = db.prepare("INSERT INTO songs VALUES (?, ?, ?)");
for (var i = 0; i < 10; i++) {
stmt.run("Title" + i, "Lyric" + i);
}
stmt.finalize();
});
如果要為列使用默認值,則將其保留在INSERT之外:
var stmt = db.prepare("INSERT INTO songs (title, lyric) VALUES (?, ?)");
這里要注意兩件事:
INSERT
語句中指定列名總是一個好主意,因此(title, lyric)
添加。 這樣就不會對占位符所指的內容產生歧義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.