私は6列の比較的小さなデータベーステーブルを持っています。一意のIDが存在する場合、MySQLの複数の列を更新します
ID | Rank | PrevRank | Player | Country | Points |
IDは明らかに一意のキーです。 UNIQUEキーが同じでない場合にのみ、レコード内のすべての列を更新できるようにしたい。
INSERT INTO rankings (id,rank,prevrank,player,country,points)
VALUES ($id, $rank, $prevrank, $player, $country, $points)
ON DUPLICATE KEY UPDATE ..... ;
楕円の後に何が来るのかわかりません。私は下の例を例として見てきましたが、それは1つの列を更新するだけです。
INSERT INTO funds (`fund_id`, `date`, `price`) VALUES (23, DATE('2013-02-12'), 22.5) ON DUPLICATE KEY UPDATE `price` = `price`;
私はあなたがコンマ区切りリストを行うことができます期待していますが、私は私のデータベースは見つける台無しにしたくありません! ON DUPLICATE KEY UPDATE
後
しかし...ユニークキーは、私が推測すると同じになることはありませんか?あなたのID列で自動増分していませんか? – Jeppesen
データベースのバックアップを行い、別のデータベースに復元して再生します。しかし、あなたは、あなたの指示のカンマ区切りリストを行うことができますcorectです。 –
私が間違っていると私を訂正しますが、レコードがすでにユニークキーに一致していれば、 'ON DUPLICATE KEY'は_updating_レコードの動作をします。レコードが重複していない場合、更新は行われません。 –