REPLACE INTO语句用null覆盖所有未触及的值

时间:2018-09-19 08:09:04

标签: sql sqlite node-sqlite3

这是预期的行为吗?

请考虑以下情形:

CREATE TABLE IF NOT EXISTS host_node ( id INTEGER PRIMARY KEY, ip TEXT, hashed_pw TEXT, login_token TEXT )

这是insert或replace语句,它可以完美运行:

REPLACE INTO host_node (id, ip, hashed_pw, login_token) VALUES(?, ?, ?, ?)

但是,只要我仅更新某些值,它就会以null覆盖其他值:

REPLACE INTO host_node (id, login_token) VALUES(?, ?) // The same ID as in the other replace into statement is used

那是为什么?我可以避免吗?

0 个答案:

没有答案