2014-10-20 73 views
0

我更新了我的問題。我被告知,在這個網站我不能編輯我的代碼。對不起更新並更改我的代碼

+0

順便說一句,你ç相同SQL中的SELECT和UPDATE,例如'UPDATE table SET column =(SELECT ...)' – m0skit0 2014-10-20 14:41:14

+1

'colum2'在旁邊,你能證實你需要做一般更新,即不是在特定的表上嗎?否則,單個UPDATE語句會更新一條語句中的所有記錄? – StuartLC 2014-10-20 14:41:29

回答

0

你的UPDATE語句的問題是沒有WHERE子句的更新更新所有表的行,所以你最終在所有行中都有相同的值。

如果你想通過一個更新行一個,你會讀出每行的ID,並用它來過濾UPDATE,這樣的:

UPDATE MyTable SET BColumn = 'newValue' WHERE ID = 123 

無論如何,你可以簡單地執行一個命令是單獨做字符串連接的每一行:

UPDATE MyTable SET ArrayColumn = Column1 + Column2 

或Java中:

db.execSQL("UPDATE " + Database.DATABASE_TABLE + 
      " SET " + Database.KEY_ARRAY + " = " + 
      Database.KEY_COLUMN1 + " + " + Database.KEY_COLUMN2); 
+0

謝謝。所以我需要id值來逐行更新。我如何獲得該行的ID? – user4129359 2014-10-21 08:32:15

+0

爲什麼你想要逐行更新?你讀過答案的後半部分了嗎? – 2014-10-21 10:48:59

+0

當然我讀過。我編輯了第一條消息。編輯後您是否閱讀過該消息?我想逐行更新,因爲如果更新所有數據庫,它會在所有行中寫入相同的值。如果它可以添加一列到另一個,這沒關係。 – user4129359 2014-10-21 12:56:43