1. ホーム
  2. mysql

[解決済み] ON DUPLICATE KEYを使用して、挿入したいものをすべて更新する方法はありますか?

2023-06-24 15:53:02

質問

を使うことができるのは知っています。 ON DUPLICATE KEY UPDATE を使用して、そのキーのレコードが既にある場合に特定の値を更新することができます。

こんなことができるんです。

INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE `a`=1, `b`=2, `c`=3

しかし、カラムと値を2回書き出すことなく、これを行うにはどうしたらよいでしょうか。

どのように解決するのですか?

残念ながら、そうではありません。

値を繰り返さないようにすることで、半減させることができます。

INSERT INTO `tableName` (`a`,`b`,`c`) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE `a`=VALUES(`a`), `b`=VALUES(`b`), `c`=VALUES(`c`);

しかし、まだ列を列挙する必要があります。