私は(VALUESオプションを使用して)次のことを見てきました:SETオプションを使用してINSERTクエリでON DUPLICATE KEY UPDATEを使用できますか?
$query = "INSERT INTO $table (column-1, column-2, column-3) VALUES ('value-1', 'value-2', 'value-3') ON DUPLICATE KEY UPDATE SET column1 = value1, column2 = value2, column3 = value3, ID=LAST_INSERT_ID(ID)";
...しかし、私は私が使用しているものにDUPLICATE KEY UPDATE ON追加する方法を見つけ出すことはできません。
$query = "INSERT INTO $table SET
column-1 ='value-1',
column-2 ='value-2',
column-3 ='value-3'
";
例えば:,擬似コード
$query = "INSERT INTO $table SET
column-1 ='value-1',
column-2 ='value-2',
column-3 ='value-3'
ON DUPLICATE KEY UPDATE SET
column1 = value1,
column2 = value2,
column3 = value3,
$id=LAST_INSERT_ID(id)";
$my_id = mysql_insert_id();
";
私は読み後者より簡単に見つけるだろう。明確化を感謝し、マニュアルの例を見つけませんでした。
歓声
ありがとうKevin。私のID列はプライマリキーでユニークなインデックスを持っています。どのようにON DUPLICATE KEYが動作するのか理解していると思いますが、私の問題はVALUESではなくSETを使って別のINSERT構文に追加することです。私はそれが可能な場合、その構文の例を見たいと思います。 – shecky
ちょっとわかりました。私は、重複したキー更新を使用してリフレッシュ時に追加された重複を防止したいと思いますが、ヘッダーを使用してユーザーを結果ページにリダイレクトしますが、ユーザーが戻って再提出することはできません。だから私はIDが存在する場合、私はすべてのフィールドを更新すると思った – shecky
私はあなたが約質問しているフォーマットを使用するように変更しました、少なくとも私はやったと思う! –