HTML5数据库验证存在表?

时间:2010-12-15 06:53:35

标签: iphone database sqlite

有没有办法验证表格是否存在于HTML5本地数据库的数据库中?

我需要创建9个表,这个方法将在文档准备好后运行。如果每次页面启动时,它也调用相同的方法,是不是会浪费内存?我将它用于移动设备(iPhone)。

这是代码:

try{
                if(!window.openDatabase){
                    alert('DB not supported.');
                }else{
                    var shortName = 'abc';
                    var version = '1.0';
                    var displayName = 'ABC';
                    var maxSize = 3145728;
                    var tableName = ['business', 'politic', 'firstread', 'commentary','features', 'insiderasia', 'management', 'media'];
                    db = openDatabase(shortName, version, displayName, maxSize);

                    $.each(tableName, function(theCount, value){
                        db.transaction(
                            function(transaction){
                                transaction.executeSql('CREATE TABLE IF NOT EXISTS '+  value +' (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, link TEXT NOT NULL, title TEXT NOT NULL, author TEXT NOT NULL, pubdate TEXT NOT NULL, imgLink TEXT NULL, desc TEXT NOT NULL, day TEXT NOT NULL);');
                        });
                    });
                }
            }catch(e){
                if(e == INVALID_STATE_ERR){
                    console.log('invalid database version.');
                }else{
                    console.log('unknown error ' + e + '.');
                }
                return;
            }

1 个答案:

答案 0 :(得分:2)

你需要什么?如果您担心可以重新创建数据库中已存在的表,则需要使用此SQL查询创建表:

CREATE TABLE IF NOT EXISTS table_name