3
我想更新使用室內庫@Query註解表,下面是我的代碼(在DAO接口):房間錯誤:在輸入處沒有可行的替代選擇?
@Query("UPDATE table_name SET table_name.col1 = :val1 WHERE table_name.col2 = :val2")
void updateValue(long val1, long val2);
完全錯誤字符串如下:
Error:(11, 10) error: no viable alternative at input 'UPDATE table_name SET table_name.'
這裏是實體等級:
@Entity(tableName = "table_name")
public class SampleTable {
@PrimaryKey
@ColumnInfo(name = "_id")
private Long Id;
@ColumnInfo(name = "col1")
private Long column1;
@ColumnInfo(name = "col2")
private Long column2;
public Long getId() {
return Id;
}
public void setId(Long id) {
Id = id;
}
public Long getColumn1() {
return column1;
}
public void setColumn1(Long column1) {
this.column1 = column1;
}
public Long getColumn2() {
return column2;
}
public void setColumn2(Long column2) {
this.column2 = column2;
}
}
我的代碼有什麼問題?
你能編輯你的問題,並用定義'table_name'的'@ Entity'註解來顯示你的Java類嗎? – CommonsWare
@CommonsWare我編輯了這個問題,請看看,謝謝 – pcj
嘗試改變你的語句到'UPDATE table_name SET col1 =:val1 WHERE col2 =:val2'。在這種情況下,您不需要表前綴,並且錯誤消息會讓Room Room跳過前綴。 – CommonsWare