首先,我在Android SQLite DB
中创建了一个数据库表,如:
private static final String CONTENT_DB_CREATE = "CREATE TABLE "
+ CONTENT_DB_NAME + "( " + CONTENT_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
CONTENT_TITLE + " TEXT, " +
CONTENT_FULLTEXT + " TEXT , " +
CONTENT_STATE + " TEXT , " +
CONTENT_NEW + " TEXT, " +
CONTENT_HEADER + " TEXT , " +
CONTENT_COLOR + " TEXT , " +
CONTENT_NEXT + " TEXT , " +
CONTENT_PREVIOUS + " TEXT );";
然后我改为:
private static final String CONTENT_DB_CREATE = "CREATE TABLE "
+ CONTENT_DB_NAME + "( " + CONTENT_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
CONTENT_TITLE + " TEXT, " +
CONTENT_FULLTEXT + " TEXT , " +
CONTENT_STATE + " INTEGER , " +
CONTENT_NEW + " INTEGER, " +
CONTENT_HEADER + " TEXT , " +
CONTENT_COLOR + " INTEGER , " +
CONTENT_NEXT + " TEXT , " +
CONTENT_PREVIOUS + " TEXT );";
现在如何确定数据类型已更改!!
答案 0 :(得分:3)
您可以使用此查询来获取定义表的当前SQL语句:
"SELECT sql FROM sqlite_master " +
" WHERE type = 'table' AND tbl_name = '" + CONTENT_DB_NAME + "'"
sqlite_master
是一个隐藏的表,用于保存整个数据库的模式。
了解列类型可能无关紧要,因为SQLite使用"type affinity"。
答案 1 :(得分:0)
有一些实用程序可以查看您的数据库。 您可以使用文件浏览器来获取数据库 特定应用程序的数据库位于/ data / data / [packagename] / databases
中packagename是您在清单中定义的包,例如/data/data/org.vimtips.supacount/databases/counts.db。
您可以使用adb shell查看它并输入sqlite3 /data/data/org.vimtips.supacount/databases/counts.db
或者您可以使用第三方实用程序从设备中取出它,使用adb pull /data/data/org.vimtips.supacount/databases/counts.db等命令