在重复更新中插入新数据


Insert new data on duplicate update

我需要帮助写一个php mysql查询插入数据到表,但当涉及到ID(主键),查询应该更新其他字段。

我已经试过了:

mysql_query("INSERT INTO TableName(ID,Field1,Field2) VALUES('$ID','$F1','$F2') ON DUPLICATE KEY UPDATE SET Field1='$F1',Field2;",$conServer) or die(mysql_error());

我认为你应该尝试REPLACE而不是INSERT:"REPLACE的工作原理与INSERT完全相同,除了如果表中的旧行与PRIMARY KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前删除旧行"

参见MySQL参考:http://dev.mysql.com/doc/refman/5.0/en/replace.html

我这样做了:(如果我明白你在问什么…

INSERT INTO YOUR_TABLE (FIELD1,FIELD2, FIELD3) VALUES ('value_FIELD1',value_FIELD2, value_FIELD3) 
ON DUPLICATE KEY UPDATE FIELD4 = value_FIELD4,FIELD5 = value_FIELD5";