在SQLite数据库的同一行中插入数据

时间:2018-03-27 19:00:04

标签: android database android-sqlite

我有一个像下面这样的SQLite数据库图片,我想在 DAYS 列的相同行上插入值。为了更好地理解我已经标记了红色,我想插入值,但每次为同一天创建新行。 我怎样才能做到这一点?

enter image description here

这是我的insertData方法,我将值插入行

public boolean insertData(String days, String tasbeehName, int count){
    SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_DAYS, days);
    contentValues.put(tasbeehName, count);

    //Long result = sqLiteDatabase.insert(TABLE_TASBEEH_COUNT,null, contentValues);
    Long result = sqLiteDatabase.insertWithOnConflict(TABLE_TASBEEH_COUNT,null, contentValues,sqLiteDatabase.CONFLICT_REPLACE);
    if(result == -1)
        return false;
    else
        return true;
}

2 个答案:

答案 0 :(得分:0)

未经测试,但您可以尝试

capabilities = Selenium::WebDriver::Remote::W3C::Capabilities.firefox(accept_insecure_certs: true)
driver = Selenium::WebDriver.for :firefox, desired_capabilities: :capabilities

答案 1 :(得分:0)

您可以先检查是否已存在具有现有DAYS值的行,然后您可以更新现有行或插入新行。

您可以在单个查询中执行此操作。检查此answer。我在这里粘贴答案的示例查询:

INSERT OR REPLACE INTO Employee (id, role, name) 
VALUES (  1, 
        'code monkey',
        (SELECT name FROM Employee WHERE id = 1)
      );

如果存在columns行或插入新行,则会更新您的给定id = 1