引起:android.database.sqlite.SQLiteException:靠近“Appliances”:语法错误(代码1):

问题描述 投票:-1回答:1

当我尝试编译它时,我在SQLITE中有5个表“语法错误”但我在代码中找不到任何语法错误。

这是我的代码

override fun onCreate(db: SQLiteDatabase?) {
        var ClothTable = "CREATE TABLE $Cloth (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description TEXT ,IMAGE BLOB)"
        var DairyTable = "CREATE TABLE $Dairy (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description TEXT ,IMAGE BLOB)"
        var EATable = "CREATE TABLE $ElectricalAppliances (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description TEXT ,IMAGE BLOB)"
        var FoodTable = "CREATE TABLE $Food (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description TEXT ,IMAGE BLOB)"
        var VegetableTable = "CREATE TABLE $vegetable (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description TEXT ,IMAGE BLOB)"

        db?.execSQL(ClothTable)
        db?.execSQL(DairyTable)
        db?.execSQL(EATable)
        db?.execSQL(FoodTable)
        db?.execSQL(VegetableTable)


    }

错误是:

Caused by: android.database.sqlite.SQLiteException: near "Appliances": syntax error (code 1): , while compiling: CREATE TABLE Electrical Appliances (_id INTEGER PRIMARY KEY AUTOINCREMENT,Description STRING ,IMAGE BLOB)
android sqlite syntax
1个回答
2
投票

我猜你已经将变量ElectricalAppliances声明为:

val ElectricalAppliances = "Electrical Appliances"

作为表名但不允许使用空格。 将其更改为:

val ElectricalAppliances = "[Electrical Appliances]"

名称必须用方括号[]或反引号`(ascii代码096)包围。

© www.soinside.com 2019 - 2024. All rights reserved.