2011-09-15 33 views
-3

私は、テーブルにデータを挿入する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

あなたの試行の結果は何ですか? – rabudde

+0

私が望んでいない... –

+0

ですので、エラーメッセージを投稿してください! – rabudde

答えて

1

私はあなたがREPLACEの代わりに、INSERTしようとすべきだと思う:「テーブル内の古い行が同じ値を持っている場合ことを除いて、正確にINSERTのような作品をREPLACE 新しい行が挿入される前に、PRIMARY KEYまたはUNIQUEインデックスのための新しい行は、古い行が削除され、」

は、MySQLリファレンスを参照してください: http://dev.mysql.com/doc/refman/5.0/en/replace.html

+0

ありがとうJD_za、私はそれを試してみます –

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"; 
関連する問題