将列逐行添加到另一列

时间:2014-10-21 13:42:12

标签: android sqlite

我在android上编写代码。我尝试编写一个代码,从一列中获取数据并添加到另一列的字符串,为所有数据库执行此操作。

如果有可能,我可以一次添加(追加)列。

像这样:

在:

 A column | B column 
  string 1   string 2

后:

A column | B column 
 string 1   string 2+string 1

我会尝试从列中获取字符串并更新列,但我无法做到。

SQLiteDatabase mydatabase = dbHelper.getMydatabase();
        String query = new String( "select "+Database.KEY_COLUMN1+", "+Database.KEY_COLUMN'+ " from "+ Database.TABLE_NAME );
    cursor = mydatabase.rawQuery(query,null);
   while(cursor.moveToNext()) {
        String column1 = cursor.getString(cursor.getColumnIndex(Database.KEY_COLUMN1));
        String column2 = cursor.getString(cursor.getColumnIndex(Database.KEY_COLUMN2));
        column2=column1+colum2;
       mydatabase.execSQL("UPDATE "+Database.DATABASE_TABLE+" SET "+ Database.KEY_COLUMN2+ "="
               +column2);            
    }
    cursor.close();

之前我问过这个问题,但我更新了我的代码,有人说我在问到问题后无法编辑第一条消息。对不起。

1 个答案:

答案 0 :(得分:1)

向表中添加主键,然后在连接两列后更新表时使用主键放置WHERE子句。

根据您的代码,数据库无法知道您要更新哪一行。

将此用作更新查询

mydatabase.execSQL("UPDATE "+Database.DATABASE_TABLE+" SET "+ Database.KEY_COLUMN2+ "="
           +column2 + " WHERE " + Database.KEY_ROW_ID + " = " + cursor.getInt(cursor.getColumnIndex(Database.KEY_ROW_ID))");