You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQLite中创建表?Android Studio中SQLite建表报错求助

嘿,我来帮你解决这两个问题!

一、SQLite中创建数据表的基本方法

在SQLite里创建数据表核心是用CREATE TABLE语句,步骤和基础语法如下:

  • 首先打开你的SQLite数据库(比如命令行下用sqlite3 student.db就能创建并打开名为student.db的数据库)
  • 编写CREATE TABLE语句,基础格式:
CREATE TABLE 表名 (
    列名1 数据类型 [约束条件],
    列名2 数据类型 [约束条件],
    ...
);

举个和你需求匹配的实际例子,学生表可以这么写:

CREATE TABLE student_table (
    NAME TEXT,
    EMAIL TEXT, -- 如果需要保证邮箱唯一,可以加UNIQUE约束:EMAIL TEXT UNIQUE
    PASSWORD TEXT
);

如果需要给每个学生设置唯一自增ID,还可以调整为:

CREATE TABLE student_table (
    ID INTEGER PRIMARY KEY AUTOINCREMENT,
    NAME TEXT,
    EMAIL TEXT UNIQUE,
    PASSWORD TEXT
);
二、你的Android Studio代码中的SQL错误修复

从你提供的代码和错误提示来看,有两个明显的SQL语法问题,还有一个小的变量拼写错误,我一起帮你修正:

  1. CREATE TABLE语句缺少空格:原代码里create table后面直接拼接表名变量,导致生成的SQL是create tablestudent_table(...),SQL引擎无法识别表名,必须在table和表名之间加空格。
  2. DROP TABLE语句语法错误:IF EXIST是拼写错误,正确的固定语法是IF EXISTS(末尾多一个S)。
  3. 变量名拼写错误:DATABASAE_NAME多写了一个A,改成DATABASE_NAME避免后续数据库名称异常。

修复后的完整代码:

package com.example.thakkar.registration;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "student.db";
    public static final String TABLE_NAME = "student_table";
    public static final String COL_1 = "NAME";
    public static final String COL_2 = "EMAIL";
    public static final String COL_3 = "PASSWORD";

    public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
        SQLiteDatabase db = this.getWritableDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 修复:table后加空格,SQL关键字大写提升可读性
        db.execSQL("CREATE TABLE " + TABLE_NAME + " (NAME TEXT, EMAIL TEXT, PASSWORD TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 修复:将EXIST改为EXISTS,同时添加空格
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }
}

内容的提问来源于stack exchange,提问作者Dhruv Thakkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:12:33