Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pernyataan pembaruan PartiQL untuk DynamoDB
Gunakan pernyataan UPDATE
untuk mengubah nilai dari satu atribut atau lebih dalam item dalam tabel Amazon DynamoDB.
catatan
Anda hanya dapat memperbarui satu item pada satu waktu; Anda tidak dapat mengeluarkan pernyataan DynamoDB PartiQL tunggal yang memperbarui beberapa item. Untuk informasi tentang memperbarui beberapa item, lihat Melakukan transaksi dengan PartiQL untuk DynamoDB atau Menjalankan operasi batch dengan PartiQL untuk DynamoDB.
Sintaks
UPDATE
table
[SET | REMOVE]path
[=data
] […] WHEREcondition
[RETURNINGreturnvalues
] <returnvalues> ::= [ALL OLD | MODIFIED OLD | ALL NEW | MODIFIED NEW] *
Parameter
tabel
-
(Diperlukan) Tabel yang berisi data yang akan diubah.
path
-
(Diperlukan) Nama atribut atau jalur dokumen yang akan dibuat atau diubah.
data
-
(Diperlukan) Nilai atribut atau hasil operasi.
Operasi yang didukung untuk digunakan bersama SET:
-
LIST_APPEND: menambahkan nilai ke jenis daftar.
-
SET_ADD: menambahkan nilai ke set angka atau string.
-
SET_DELETE: menghapus nilai dari set angka atau string.
-
ketentuan
-
(Diperlukan) Kriteria pemilihan untuk item yang akan diubah. Syarat ini harus diselesaikan untuk satu nilai kunci primer.
returnvalues
-
(Opsional) Gunakan
returnvalues
jika Anda ingin mendapatkan atribut item seperti yang muncul sebelum atau setelah diperbarui. Nilai yang valid adalah:-
ALL OLD *
- Mengembalikan semua atribut item, saat atribut item tersebut muncul sebelum operasi pembaruan. -
MODIFIED OLD *
- Mengembalikan hanya atribut yang diperbarui, saat atribut item tersebut muncul sebelum operasi pembaruan. -
ALL NEW *
- Mengembalikan semua atribut item, seperti yang muncul setelah operasi pembaruan. -
MODIFIED NEW *
- Hanya mengembalikan atribut yang diperbarui, seperti yang muncul setelah operasiUpdateItem
.
-
Nilai yang dikembalikan
Pernyataan ini tidak mengembalikan nilai kecuali parameter returnvalues
ditentukan.
catatan
Jika klausul WHERE pernyataan UPDATE tidak dinilai true untuk item apa pun dalam tabel DynamoDB, ConditionalCheckFailedException
akan dikembalikan.
Contoh
Memperbarui nilai atribut dalam item yang sudah ada. Jika atribut tersebut tidak ada, atribut tersebut akan dibuat.
Kueri berikut memperbarui item dalam tabel "Music"
dengan menambahkan atribut dari nomor jenis (AwardsWon
) dan atribut dari jenis peta (AwardDetail
).
UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'
Anda dapat menambahkan RETURNING ALL OLD *
untuk mengembalikan atribut seperti yang muncul sebelum operasi Update
.
UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks' RETURNING ALL OLD *
Ini akan menghasilkan hal berikut:
{ "Items": [ { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "PartiQL Rocks" } } ] }
Anda dapat menambahkan RETURNING ALL NEW *
untuk mengembalikan atribut seperti yang muncul setelah operasi Update
.
UPDATE "Music" SET AwardsWon=1 SET AwardDetail={'Grammys':[2020, 2018]} WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks' RETURNING ALL NEW *
Ini akan menghasilkan hal berikut:
{ "Items": [ { "AwardDetail": { "M": { "Grammys": { "L": [ { "N": "2020" }, { "N": "2018" } ] } } }, "AwardsWon": { "N": "1" } } ] }
Kueri berikut memperbarui item dalam tabel "Music"
dengan menambahkan ke daftar AwardDetail.Grammys
.
UPDATE "Music" SET AwardDetail.Grammys =list_append(AwardDetail.Grammys,[2016]) WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'
Kueri berikut memperbarui item dalam tabel "Music"
dengan menghapus dari daftar AwardDetail.Grammys
.
UPDATE "Music" REMOVE AwardDetail.Grammys[2] WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'
Kueri berikut memperbarui item dalam tabel "Music"
dengan menambahkan BillBoard
ke peta AwardDetail
.
UPDATE "Music" SET AwardDetail.BillBoard=[2020] WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'
Kueri berikut memperbarui item dalam tabel "Music"
dengan menambahkan atribut set string BandMembers
.
UPDATE "Music" SET BandMembers =<<'member1', 'member2'>> WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'
Kueri berikut memperbarui item dalam tabel "Music"
dengan menambahkan newbandmember
ke set string BandMembers
.
UPDATE "Music" SET BandMembers =set_add(BandMembers, <<'newbandmember'>>) WHERE Artist='Acme Band' AND SongTitle='PartiQL Rocks'