![](/img/trans.png)
[英]How can I create a table in my postgres db with Spring Boot?
[英]How can I create a table in my DB, after dropping all of my tables in database?
我用这个查询在DB
中看到我的表,..
(SELECT name
FROM sqlite_master
WHERE type ='table' AND name NOT LIKE 'sqlite_%';)
在(删除 allmytable)之后我无法创建表,...
package com.ariaz.amirmkaa.litner002;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseManager extends SQLiteOpenHelper {
public DatabaseManager(Context context)
{
super(context, "myDB", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String card_tbl = "CREATE TABLE \"cards_tbl\" (\n" +
"\t\"id\"\tINTEGER NOT NULL,\n" +
"\t\"questiontx\"\tTEXT NOT NULL,\n" +
"\t\"questionpic\"\tBLOB,\n" +
"\t\"solutiontx\"\tTEXT NOT NULL,\n" +
"\t\"solutionpic\"\tBLOB,\n" +
"\t\"days\"\tINTEGER NOT NULL,\n" +
"\t\"bookid\"\tINTEGER NOT NULL,\n" +
"\t FOREIGN KEY (bookid)\n" +
" REFERENCES book_tbl (bookid)\n" +
");";
db.execSQL(card_tbl);
}
我相信您的问题是onCreate方法仅在首次创建数据库时运行(即如果数据库文件不存在),只要数据库存在,它就不会运行。
删除从 sqlite_master 中提取的所有表不会删除数据库,数据库将至少具有sqlite_master表,该表由于受到保护而无法删除。
当您删除所有表时,您可以调用onCreate方法。
super(context, "myDB", null, 1);
传递的第四个参数)以及opUpdate
方法中的适当迁移代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.