1. ホーム
  2. mysql

[解決済み] MySQLテーブルへの挿入または存在する場合の更新

2022-03-19 10:36:37

質問

データベースのテーブルに行を追加したいのですが、同じユニークキーを持つ行が存在する場合、その行を更新したいのです。

例えば

INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19);

仮にユニークキーが ID で、私の データベース という行があり、その行には ID = 1 . その場合、その行をこれらの値で更新したいのです。通常、これはエラーになります。
もし私が INSERT IGNORE はエラーを無視しますが、それでも更新されません。

解決方法は?

使用方法 INSERT ... ON DUPLICATE KEY UPDATE

QUERYをご覧ください。

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19