在 Sqlite 中创建表之前是不是必须删除表?
Posted
技术标签:
【中文标题】在 Sqlite 中创建表之前是不是必须删除表?【英文标题】:Do I have to drop the table before creating it in Sqlite?在 Sqlite 中创建表之前是否必须删除表? 【发布时间】:2012-07-10 09:17:54 【问题描述】:当我初始化我的 Sqlite 数据库时,我按如下方式进行:
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 20000);
db.transaction(populateDB, errorCB, successCB);
function populateDB(tx)
tx.executeSql('DROP TABLE IF EXISTS TimeTable');
tx.executeSql('CREATE TABLE IF NOT EXISTS TimeTable (id INTEGER PRIMARY KEY AUTOINCREMENT, Day, Subject, StartingTime, EndingTime)');
现在,我不希望每次调用此函数时都删除表。 但是当我删除这一行时:
tx.executeSql('DROP TABLE IF EXISTS TimeTable');
显示错误:
[INFO] Error processing SQL: 1
有解决办法吗?
【问题讨论】:
我认为您首先需要删除数据库级别的表..然后运行更新的脚本,您已在其中评论了drop table
语句。
数据库级文件在哪里写?
我告诉你首先你必须从数据库中删除这个表,因为它已经存在于数据库中..这就是为什么我认为你应该首先从数据库中清除表..但是当你有create table "if not exists"
那么这个东西不是必需的..你可以忽略最后一条评论。
试试这个解决方案:***.com/questions/9109438/…
【参考方案1】:
您可以尝试那里发布的解决方案:
phoneGap android - Populate database once "Error processing SQL:1"
【讨论】:
以上是关于在 Sqlite 中创建表之前是不是必须删除表?的主要内容,如果未能解决你的问题,请参考以下文章