Я думаю, что это не проблема с кордовой или javascript, а скорее проблема чистого логика c.
Что вам нужно сделать, это проверить, существует ли таблица schedule
(или если идентификаторы уже есть в таблице), и если он не добавляет ваши 24 идентификаторов. См. Как проверить в SQLite, существует ли таблица? для справки.
Примерно так
window.onload = function() {
db = openDatabase('Timetable', '1.0', 'Time Table', 10 * 1024 * 1024);
// Check for schedule table presence with something like this
// SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';
// NOTE : I have not tested this code syntax. This is just to give you the idea, I don't know how to write correctly sqlite commands.
var isScheduleCreated = false;
db.transaction((tx) => {
var result = tx.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name='schedule'");
if (result) isScheduleCreated = true;
});
if (isScheduleCreated === false) {
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS schedule(ID INT PRIMARY KEY NOT NULL,monday TEXT,tuesday TEXT,wednesday TEXT,thursday TEXT,friday TEXT,saturday TEXT,sunday TEXT)');
for (var i=1;i<=24;i++) {
tx.executeSql('INSERT INTO schedule(ID) VALUES(?)',[i]);
}
}
}
}
Замечания
db.transaction((tx) => {
// ...
}
использует Функция стрелок определяет функцию, но она точно такая же, как и при ее написании. Это просто и моя привычка.
db.transaction(function(tx) {
// ...
}