android studio sqlite 创建表时怎么不重复创建
时间: 2023-07-28 10:34:22 浏览: 100
在 Android Studio 中,如果要创建一个 SQLite 数据库表,可以通过以下步骤来确保不重复创建:
1. 在创建表之前,先判断该表是否已经存在。可以使用如下代码查询表是否存在:
```java
public boolean isTableExists(SQLiteDatabase db, String tableName) {
boolean result = false;
if (tableName == null) {
return false;
}
Cursor cursor = null;
try {
String sql = "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='" + tableName.trim() + "'";
cursor = db.rawQuery(sql, null);
if (cursor != null && cursor.moveToFirst()) {
int count = cursor.getInt(0);
if (count > 0) {
result = true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cursor != null) {
cursor.close();
}
}
return result;
}
```
2. 如果查询结果为 false,即表不存在,就可以使用 SQL 语句创建表。例如:
```java
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
COLUMN_NAME + " TEXT," +
COLUMN_AGE + " INTEGER," +
COLUMN_GENDER + " TEXT" +
")");
```
在 SQL 语句中使用 `CREATE TABLE IF NOT EXISTS`,如果表已经存在,则不会再次创建。
3. 如果查询结果为 true,即表已经存在,就可以选择更新表结构或者直接使用该表,具体处理方法根据具体情况而定。
通过以上步骤,可以确保不重复创建 SQLite 数据库表。
阅读全文