Tablestore menyediakan operasi DeleteRow untuk menghapus satu baris data dan operasi BatchWriteRow untuk menghapus beberapa baris data sekaligus.
Catatan penggunaan
Data yang dihapus tidak dapat dipulihkan. Lanjutkan dengan hati-hati.
Prasyarat
Instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Instance OTSClient.
Tabel data telah dibuat dan data telah ditulis ke tabel tersebut. Untuk informasi lebih lanjut, lihat Buat Tabel Data.
Hapus satu baris data
Anda dapat memanggil operasi DeleteRow untuk menghapus satu baris data. Jika baris yang ingin dihapus tidak ada, tabel tetap tidak berubah.
Operasi API
/**
* Hapus satu baris data.
* @api
* @param [] $request Parameter permintaan.
* @return [] Respons.
* @throws OTSClientException Pengecualian yang dikembalikan ketika terjadi kesalahan parameter atau server Tablestore mengembalikan kesalahan verifikasi.
* @throws OTSServerException Pengecualian yang dilemparkan ketika server Tablestore mengembalikan kesalahan.
*/
public function deleteRow(array $request); Parameter
Informasi permintaan
Parameter permintaan
Parameter | Deskripsi |
table_name | Nama tabel data. |
condition | Kondisi yang harus dipenuhi untuk melakukan operasi. Anda dapat menentukan kondisi keberadaan baris atau kondisi berdasarkan nilai kolom. Untuk informasi lebih lanjut, lihat Lakukan pembaruan bersyarat. |
primary_key | Informasi kunci utama tentang baris tersebut. Catatan Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe sebenarnya dari kolom kunci utama dalam tabel data. |
return_content | Tipe pengembalian. Anda hanya dapat mengatur return_type ke |
Sintaks permintaan
$result = $client->deleteRow([
'table_name' => '<string>', // Tentukan nama tabel data.
'condition' => [
'row_existence' => <RowExistence>,
'column_condition' => <ColumnCondition>
],
'primary_key' => [ // Tentukan kunci utama.
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'return_content' => [
'return_type' => <ReturnType>
]
]); Informasi respons
Parameter respons
Parameter | Deskripsi |
consumed | Jumlah unit kapasitas (CUs) yang dikonsumsi oleh operasi ini. capacity_unit: throughput baca dan tulis yang dikonsumsi.
|
primary_key | Nilai kunci utama, yang sama dengan yang ada di permintaan. Catatan Jika Anda mengatur return_type ke ReturnTypeConst::CONST_PK, nilai kunci utama akan dikembalikan. Parameter ini digunakan oleh fitur kolom kunci utama auto-increment. |
attribute_columns | Nilai kolom atribut, yang sama dengan yang ada di permintaan. Saat ini, nilai parameter ini kosong. |
Sintaks respons
[
'consumed' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'primary_key' => [
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'attribute_columns' => []
] Contoh
Hapus satu baris data
Berikut adalah contoh kode untuk menghapus satu baris data dari tabel:
$request = [
'table_name' => 'MyTable',
'condition' => RowExistenceExpectationConst::CONST_IGNORE,
'primary_key' => [ // Tentukan kunci utama.
['PK0', 123],
['PK1', 'abc']
],
'return_content' => [
'return_type' => ReturnTypeConst::CONST_PK // Tentukan return_type untuk mengembalikan nilai kunci utama saat kolom kunci utama auto-increment ditentukan.
]
];
$response = $otsClient->deleteRow($request); Tentukan kondisi untuk menghapus satu baris data
Berikut adalah contoh kode untuk menghapus satu baris data ketika nilai kolom Col0 dalam baris tersebut lebih besar dari 100:
$request = [
'table_name' => 'MyTable',
'condition' => [
'row_existence' => RowExistenceExpectationConst::CONST_EXPECT_EXIST, // Konfigurasikan parameter kondisi untuk menghapus baris ketika baris yang ditentukan ada.
'column_filter' => [ // Hapus baris ketika nilai kolom Col0 lebih besar dari 100.
'column_name' => 'Col0',
'value' => 100,
'comparator' => ComparatorTypeConst::CONST_GREATER_THAN
],
],
'primary_key' => [ // Tentukan kunci utama.
['PK0', 123],
['PK1', 'abc']
]
];
$response = $otsClient->deleteRow ($request); Hapus beberapa baris data sekaligus
Pilih metode untuk mendapatkan informasi kunci utama tentang data yang ingin dihapus.
Untuk menghapus data dengan nilai kunci utama dalam rentang tertentu, panggil operasi GetRange untuk menanyakan data dan mendapatkan informasi kunci utamanya. Untuk informasi lebih lanjut, lihat Baca Data dengan Nilai Kunci Utama dalam Rentang Tertentu.
Untuk menghapus data yang memenuhi kondisi tertentu dari tabel dengan indeks pencarian, gunakan indeks pencarian untuk menanyakan data dan mendapatkan informasi kunci utamanya. Untuk informasi lebih lanjut, lihat Kueri Dasar.
Untuk menghapus semua data dari tabel, disarankan untuk menghapus tabel dan membuat tabel baru dengan konfigurasi yang sama.
Anda juga dapat memanggil operasi GetRange, atur kunci utama awal ke INF_MIN dan kunci utama akhir ke INF_MAX untuk memindai semua data dalam tabel. Dengan cara ini, Anda dapat memperoleh informasi kunci utama tentang semua data. Namun, ini memerlukan banyak sumber daya komputasi. Lanjutkan dengan hati-hati.
Panggil operasi BatchWriteRow untuk menghapus beberapa baris data sekaligus berdasarkan informasi kunci utamanya. Untuk informasi lebih lanjut, lihat Tulis Beberapa Baris Data Sekaligus.
Referensi
Time to live (TTL) menentukan periode retensi data. Anda dapat mengonfigurasi TTL untuk tabel data agar data yang kedaluwarsa dihapus secara otomatis. Untuk informasi lebih lanjut, lihat Versi Data dan TTL.