更新记录如果存在,否则写入新记录?

问题描述

| 我正在尝试执行此查询,当它找到$ serial的记录时,它可以更新它。或者,如果序列号不存在,则可以写入新记录。 我得到语法错误,但对我来说似乎很好。相当糟糕,肯定要进行“重复密钥更新”,但是我丢失了某些东西...
$query = \"INSERT INTO `\".$sys_id.\"` (serial,status) VALUES (\'98745\',\'active\') ON DUPLICATE KEY UPDATE\";
$result = MysqL_query($query) or die(MysqL_error());
    

解决方法

您需要告诉它要更新的内容(请参见手册) 所以:
$query = \"INSERT INTO `\".$sys_id.\"` (serial,status) VALUES (\'98745\',\'active\') 
           ON DUPLICATE KEY UPDATE status=VALUES(active)\";
(我假设密钥是
serial
)     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...