Dengan API DynamoDB, Anda menggunakan operasi untuk memodifikasi UpdateItem
satu item.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET RecordLabel = :label",
ExpressionAttributeValues: {
":label": "Global Records"
}
}
Anda harus menentukan atribut Key
item yang akan dimodifikasi dan UpdateExpression
untuk menentukan nilai atribut. UpdateItem
berperilaku seperti operasi “upsert”. Item diperbarui jika ada di tabel, tetapi jika tidak, item baru ditambahkan (disisipkan).
UpdateItem
mendukung tulis bersyarat, di mana operasi hanya berhasil jika ConditionExpression
tertentu bernilai true. Misalnya, operasi UpdateItem
berikut tidak melakukan pembaruan kecuali jika harga lagu lebih besar dari atau sama dengan 2,00.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET RecordLabel = :label",
ConditionExpression: "Price >= :p",
ExpressionAttributeValues: {
":label": "Global Records",
":p": 2.00
}
}
UpdateItem
juga mendukung penghitung atom, atau atribut jenis Number
yang dapat ditambahkan atau dikurangi. Penghitung atom serupa dalam banyak hal untuk mengurutkan generator, kolom identitas, atau bidang penambahan otomatis dalam database. SQL
Berikut ini adalah contoh operasi UpdateItem
untuk menginisialisasi atribut baru (Play) untuk melacak berapa kali lagu telah diputar.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET Plays = :val",
ExpressionAttributeValues: {
":val": 0
},
ReturnValues: "UPDATED_NEW"
}
Parameter ReturnValues
diatur ke UPDATED_NEW
, yang mengembalikan nilai-nilai baru dari setiap atribut yang diperbarui. Dalam hal ini, parameter mengembalikan 0 (nol).
Setiap kali seseorang memutar lagu ini, kita dapat menggunakan operasi UpdateItem
berikut untuk menambahkan Play sebanyak satu.
{
TableName: "Music",
Key: {
"Artist":"No One You Know",
"SongTitle":"Call Me Today"
},
UpdateExpression: "SET Plays = Plays + :incr",
ExpressionAttributeValues: {
":incr": 1
},
ReturnValues: "UPDATED_NEW"
}
Dengan PartiQL, Anda menggunakan operasi ExecuteStatement
untuk memodifikasi item pada tabel, menggunakan pernyataan Update
PartiQL.
Kunci utama untuk tabel ini terdiri dari Artis dan SongTitle. Anda harus menentukan nilai untuk atribut ini.
UPDATE Music
SET RecordLabel ='Global Records'
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'
Anda juga dapat memodifikasi beberapa bidang sekaligus, seperti pada contoh berikut.
UPDATE Music
SET RecordLabel = 'Global Records'
SET AwardsWon = 10
WHERE Artist ='No One You Know' AND SongTitle='Call Me Today'
Update
juga mendukung penghitung atom, atau atribut jenis Number
yang dapat ditambahkan atau dikurangi. Penghitung atom serupa dalam banyak hal untuk mengurutkan generator, kolom identitas, atau bidang penambahan otomatis dalam database. SQL
Berikut ini adalah contoh pernyataan Update
untuk menginisialisasi atribut baru (Play) untuk melacak berapa kali lagu telah diputar.
UPDATE Music
SET Plays = 0
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'
Setiap kali seseorang memutar lagu ini, kita dapat menggunakan pernyataan Update
berikut untuk menambahkan Play sebanyak satu.
UPDATE Music
SET Plays = Plays + 1
WHERE Artist='No One You Know' AND SongTitle='Call Me Today'