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