如果MySQL表中的字段为空,则更新该字段
本文关键字:字段 更新 如果 MySQL | 更新日期: 2023-09-27 18:04:50
我在c#中有以下SQL查询
REPLACE INTO users(uid, username, firstseen, ...)
VALUES(@uid, @username, @firstseen, ...)
我正在寻找更新用户记录,但我不想改变firstseen除了我第一次看到这个用户。我可以查询数据库,但这会增加很多开销有没有更好的方法?
REPLACE INTO
将践踏任何已经存在的数据,相当于DELETE
后面跟着INSERT
语句。
你可能想要的是:
INSERT IGNORE INTO users (uid, username, screenname, ...)
VALUES (@...)
ON DUPLICATE KEY UPDATE uid=VALUES(uid), username=VALUES(username), ...
您可以根据需要在ON DUPLICATE KEY
部分指定特定的字段,省略那些明显相同的字段。