这是预期的行为吗?
请考虑以下情形:
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
那是为什么?我可以避免吗?