sql - 当它显然应该生成 2 个表时,为什么会生成 1 个表?
问题描述
因此,我正在 Android Studio 中开发一个项目,并且遇到了 SQLite 内置库中的意外行为。我正在编写代码,它至少应该生成 2 个表,一个是用户,另一个是 weightTable,它只生成用户。
我遇到了另一个问题,它说 execSQL 只需要一个语句,但是将 2 个表合并到一个 execSQL 似乎也不起作用
代码:
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.EditText;
import android.widget.Toast;
public class DBHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "Login.db";
public DBHelper(Context context)
{
super(context,DB_NAME,null,1);
}
@Override
public void onCreate(SQLiteDatabase myDB) {
myDB.execSQL("create Table users(username TEXT primary key, password TEXT)");
myDB.execSQL("create Table weightTable(username TEXT,date TEXT, weight INT)");
}
@Override
public void onUpgrade(SQLiteDatabase myDB, int i, int i1) {
myDB.execSQL("drop Table if exists users");
myDB.execSQL("drop Table if exists weightTable");
}
}
还有其他插入和提取数据的方法与此问题无关,因此将被忽略。
解决方案
推荐阅读
- r - Rstan 中是否有暂停功能
- python - 是否可以在不使用 studio 5000 的情况下使用 python 对 powerflex 527 进行编程?
- django - 如何在 Django 中检查 `--keepdb` 标志
- linux - Systemd没有激活服务?
- graph - 图表没有出现 google colab
- c++ - Netbeans 中的 C++ 和 SFML,运行时错误仅通过 IDE 运行
- opencl - 使用 OpenCL 从 CPU 内核读取和复制缓冲区到 FPGA 内核
- google-chrome - Web 浏览器是否会发送带有 Transfer-Encoding 标头的请求?
- curl - 如何在 Apex 中执行多部分/表单数据请求?
- winapi - 您是否应该在设置新的 Window Station 句柄后关闭该进程的先前 Window Station 句柄?