编程语言
首页 > 编程语言> > PHP-更新记录(如果存在),否则写入新记录?

PHP-更新记录(如果存在),否则写入新记录?

作者:互联网

我正在尝试执行此查询,当它找到$serial的记录时,它可以更新它.或者,如果序列号不存在,则可以写入新记录.

我得到语法错误,但对我来说似乎不错.相当糟糕,肯定要进行“重复密钥更新”,但我错过了一些东西…

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') ON DUPLICATE KEY UPDATE";
$result = mysql_query($query) or die(mysql_error());

解决方法:

您需要告诉它要更新的内容(see manual)

所以:

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') 
           ON DUPLICATE KEY UPDATE status=VALUES(active)";

(我假设密钥是序列号)

标签:upsert,mysql,php
来源: https://codeday.me/bug/20191102/1993612.html