在重复更新时插入新数据

时间:2011-09-15 09:31:45

标签: php mysql

我需要帮助编写一个将数据插入表的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());

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我这样做了:(如果我理解你的要求......

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