DynamoDB 用の PartiQL 削除ステートメント - Amazon DynamoDB

DynamoDB 用の PartiQL 削除ステートメント

DELETE ステートメントを使用して、Amazon DynamoDB テーブルにある項目を削除します。

注記

一度に削除できる項目は 1 つだけです。1 つの DynamoDB PartiQL ステートメントを発行して、複数の項目を削除することはできません。複数のアイテムの削除については、「DynamoDB 用の PartiQL を使用してトランザクションを実行する」または「DynamoDB 用の PartiQL を使用してバッチ操作を実行する」を参照してください。

構文

DELETE FROM table WHERE condition [RETURNING returnvalues] <returnvalues> ::= ALL OLD *

パラメータ

table

(必須) 削除する項目を含む DynamoDB テーブル。

condition

(必須) 削除する項目の選択基準。この条件は、単一のプライマリキー値を解決する必要があります。

returnvalues

(オプション) 削除される前に表示された、項目の属性を取得したい場合には、returnvalues を使用します。有効な値は以下のとおりです。

  • ALL OLD *: 古い項目の内容が返されます。

戻り値

returnvalues パラメータが指定されない限り、このステートメントは値を返しません。

注記

DynamoDB テーブルに、DELETE が発行された項目と同じプライマリキーを持つ項目が無い場合、削除した項目を 0 としたうえで、SUCCESS を返します。テーブルに同じプライマリキーを持つ項目があるが、DELETE ステートメントの WHERE 句の条件で false と評価された場合、ConditionalCheckFailedException が返されます。

次のクエリは、"Music" テーブルの項目を削除します。

DELETE FROM "Music" WHERE "Artist" = 'Acme Band' AND "SongTitle" = 'PartiQL Rocks'

RETURNING ALL OLD * を追加すると、削除されたデータを返すことができます。

DELETE FROM "Music" WHERE "Artist" = 'Acme Band' AND "SongTitle" = 'PartiQL Rocks' RETURNING ALL OLD *

Delete ステートメントは、以下を返すようになりました。

{ "Items": [ { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "PartiQL Rocks" } } ] }