android - 在android中将数据从一个表复制到另一个表

标签 android sqlite

我正在尝试将表 1(ITEM_DETAIL_TABLE) 中的所有值复制到表 2 (ITEM_REFRESH_TABLE)。在我的方法下面。但是在编译时出现语法错误。我不知道是什么问题。

public void ResetDbValues(){
                SQLiteDatabase db = MmpDBHelper.this.getWritableDatabase();
                 String sql1 = "INSERT INTO" + ITEM_REFRESH_TABLE + "SELECT * FROM " + ITEM_DETAIL_TABLE;
                 try {
                      Log.i("sql1=", sql1);

                      db.execSQL(sql1);


                    } catch (Exception exe) {
                        exe.printStackTrace();
                        db.endTransaction();
                        Log.e("Insertion failed",
                                "Transaction failure when inserting itemdet data.");
                        this.closeDatabase();
                        Log.i("DB closed", "Database closed successfully.");
                        errCode = "Err-DB-06";
                        LogFileCreator.appendLog(errCode + " : " + exe.getMessage());
                    }

最佳答案

您在生成的 SQL 中缺少空格;

String sql1 = "INSERT INTO" + ITEM_REFRESH_TABLE + "SELECT * FROM " + 
               ITEM_DETAIL_TABLE;

...生成 SQL;

INSERT INTORefreshItemSELECT * FROM itemDetail
          ^^         ^^ note the missing spaces.

修正后的行应该是;

String sql1 = "INSERT INTO " + ITEM_REFRESH_TABLE + " SELECT * FROM " + 
                       // ^ space here               ^ and here
               ITEM_DETAIL_TABLE;            

关于android - 在android中将数据从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759060/

相关文章:

android - 未为 Http 状态代码 400 调用 Kotlin RxJava2 onError

安卓 : converting RGB888 to Y800

python - 我怎样才能修复这个错误

android - 获取正在运行的服务的对象

android - Google In-App Billing Library 1.0 的 responseCode 4

java - 使用 Hibernate 加载整个数据库

android - SQLite:每秒插入 1 个值还是每分钟插入多个值?

python - sqlalchemy没有这样的表: user

java - 在 SQLite 中使用 Between 不返回每周数据

android - Gradle 同步和构建失败