Open2
DynamoDBのputItemとupdateItemのニュアンスの違いをうまく説明したい
ソースあつめ
putItem = insert x replace
- DynamoDBの
putItem
操作
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.WritingData
PutItem
PutItem 新しい項目を作成します。同じキーを持つ項目がテーブルにすでに存在する場合は、新しい項目に置き換えられます。
- MySqlの
replace
ステートメント
https://dev.mysql.com/doc/refman/8.0/ja/replace.html
REPLACE ステートメント
REPLACE は、INSERT とまったく同じように機能します。ただし、テーブル内の古い行に、PRIMARY KEY または UNIQUE インデックスに関して新しい行と同じ値が含まれている場合、その古い行は新しい行が挿入される前に削除されます。
REPLACE INTO テーブル名 (カラム1, カラム2, ..., カラムN)
VALUES (値1, 値2, ..., 値N);
insert x replaceじゃなくて replace単独で担いそう
updateItem = insert x update
- DynamoDBの
UpdateItem
操作
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.WritingData
UpdateItem
指定されたキーを持つ項目が存在しない場合は、UpdateItem により新しい項目が作成されます。または、既存の項目の属性が変更されます。
INSERT ... ON DUPLICATE KEY UPDATE ステートメント
ON DUPLICATE KEY UPDATE 句を指定し、行を挿入すると、UNIQUE インデックスまたは PRIMARY KEY で値が重複する場合、古い行の UPDATE が発生します。
参考