Сделайте наоборот:
<script>
numberofArticles = 5;
db = openDatabase("websql", "0.1", "web-sql testing", 10000);
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, articleID int)');
});
db.transaction(function (tx) {
for (var i=0; i<=numberofArticles-1; i++){
tx.executeSql('INSERT INTO LOGS (articleID) VALUES (?)', [i]);
};
});
</script>
И альтернатива, правильный путь с внешней петлей, который в этом случае не нужен
for (var i=0; i<=numberofArticles-1; i++){
(function(i) {
db.transaction(function (tx) {
tx.executeSql('INSERT INTO LOGS (articleID) VALUES (?)', [i]);
});
})(i);
};