Update

更新 SQLITE 表

  • May 28, 2020

我想更新我的 sqlite 表,並使用帶有條件的請求,我的目的是在值不為 null 時將名稱設置為新值,如果新值為 null 則保留舊值。我希望有人檢查我的請求,看看是否有問題,因為我收到錯誤

下面的請求:

UPDATE user SET name = CASE WHEN (? = NULL) THEN user.name ELSE ? END  WHERE ID=? ;

我在這裡遇到的錯誤

SQLITE_CONSTRAINT: NOT NULL constraint failed: user.name
Emitted 'error' event on Statement instance at:
] {
 errno: 19,
 code: 'SQLITE_CONSTRAINT'
}
UPDATE user 
SET name = COALESCE(?, name) -- name to add if the value is not null
WHERE ID = ?                 -- id value of the record which must be updated
;

引用自:https://dba.stackexchange.com/questions/268014