如果用户已经存在,如何替换某些值?

时间:2019-06-17 23:54:39

标签: php mysql mysqli

如果“用户”已经存在,我不知道如何替换某些数据。

我尝试过ON DUPLICATE KEY UPDATE,但是我意识到这可能行不通。因为在我的代码中唯一未更新的值是“用户”,但是其他3个值每5分钟不断更新一次。

INSERT INTO online ( `user`, `bot`, `world`, `status` ) VALUES ('$User', '$Name', '$World', '$status')
ON DUPLICATE KEY UPDATE bot = VALUES ('$Name'), world = VALUES ('$World'), status = VALUES ('$status')

这个想法是,例如,如果用户“ bob”已经存在,请更新其其他3个值botworldstatus,而不是创建新行,等等。

编辑:这就是我在Mysql中设置它的方式

1 个答案:

答案 0 :(得分:0)

VALUES()的参数应该是列的名称,而不是字符串。您输入要插入的列的名称。

INSERT INTO online ( `user`, `bot`, `world`, `status` ) VALUES ('$User', '$Name', '$World', '$status')
ON DUPLICATE KEY UPDATE bot = VALUES (bot), world = VALUES (world), status = VALUES (status)