Я хотел бы обновить свои данные таким образом, чтобы свойства, которые имеют свои значения на null , как они были в таблице, и изменять только те, у которых есть новые значения в качестве аргументов.
Это мой запрос, он отправляет мне ошибки, когда у меня есть нулевые значения в моем объекте:
/* THE OBJECT */
let chick = { ID: 3, name: null, lastname: 'soup', phone: '60-58-22-12', password: null , mail: 'chicken@gmail.com' }
/* UPDATE REQUEST */
this.state._stmt = db.prepare("UPDATE user SET
name = CASE WHEN (? = NULL) THEN name ELSE ? END ,
lastname = CASE WHEN (? = NULL) THEN lastname ELSE ? END ,
phone= CASE WHEN (? = NULL) THEN phone ELSE ? END ,
password = CASE WHEN (? = NULL) THEN password ELSE ? END,
mail = CASE WHEN (? = NULL) THEN mail ELSE ? END
WHERE ID=? ;");
this.state._stmt.run(obj.name, obj.name, obj.lastname, obj.lastname , obj.phone, obj.phone, obj.password, obj.password, obj.mail, obj.mail, obj.ID);
/
/ * Я получаю ошибку: * /
[Error: SQLITE_CONSTRAINT: NOT NULL constraint failed: user.name
Emitted 'error' event on Statement instance at:
] {
errno: 19,
code: 'SQLITE_CONSTRAINT'
}