【问题标题】:Insert value from one table into multiple entries将一个表中的值插入到多个条目中
【发布时间】:2016-02-12 11:35:04
【问题描述】:

我使用此查询从TABLE_LISTELEMENT 获取我的所有元素,这些元素在COL_FK_RID 列中没有条目。

db.rawQuery("SELECT * FROM " + TABLE_LISTELEMENT + " WHERE " + COL_FK_RID + " = ?", new String[]{"null"});

现在我检查我的第二张桌子以获取COL_RID

db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();

如何在第一个表的COL_FK_RID 列中插入第二个查询的结果?

【问题讨论】:

  • 你试过this吗?
  • 看看这里如何从 table1 行中选择并插入到 table2 行 -- stackoverflow.com/questions/74162/…
  • 我试过这个:db.insert("listelement(fkrid) SELECT " + COL_RID + " AS " + COL_FK_RID + " FROM " + TABLE_ROOM + " WHERE " + COL_RNAME + " = " + room , null, null); 但是代码没有效果(也没有错误)

标签: android sqlite


【解决方案1】:

我找到了完美的方法。这正是我所需要的!

db.execSQL("UPDATE listelement SET fkrid = (SELECT rid FROM room WHERE roomname = '" + roomFromEditText + "')");

【讨论】:

    【解决方案2】:

    只需使用 update Query 来更新第一张表的记录,但你需要一个 where 子句来更新它,否则它将更新第一张表的所有记录。

    db.update(TABLE_NAME, contentValues, ATTRIBUTE_ID + " = " + ID, null);
    

    此查询将更新表条目,并且 contentValues 是更新后的值,如果您没有像我一样提供任何 WHERE 子句,它将更新整个表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多