全部产品
Search
文档中心

Tablestore:Hapus data

更新时间:Jul 02, 2025

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

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

/// <summary>
/// Hapus satu baris data berdasarkan nama tabel dan primary key yang ditentukan. 
/// </summary>
/// <param name="request">Instance permintaan</param>
/// <returns>Instance respons</returns>
public DeleteRowResponse DeleteRow(DeleteRowRequest request);

/// <summary>
/// Mode asinkron dari DeleteRow. 
/// </summary>
public Task<DeleteRowResponse> DeleteRowAsync(DeleteRowRequest request);

Parameter

Parameter

Deskripsi

tableName

Nama tabel data.

primaryKey

Primary key dari baris.

Catatan

Jumlah dan tipe kolom primary key yang Anda tentukan harus sama dengan jumlah dan tipe kolom primary key sebenarnya dalam tabel.

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.

Contoh kode

Berikut adalah contoh kode untuk menghapus baris data tertentu dari tabel:

// Tetapkan nilai kolom primary key dari baris yang ingin Anda hapus menjadi 0 dan "abc". 
var primaryKey = new PrimaryKey();
primaryKey.Add("pk0", new ColumnValue(0));
primaryKey.Add("pk1", new ColumnValue("abc"));

try
{
    // Buat permintaan. RowExistenceExpectation.EXPECT_EXIST menunjukkan bahwa operasi penghapusan dilakukan hanya jika baris yang ditentukan ada. 
    var deleteRowRequest = new DeleteRowRequest("SampleTable", new Condition(RowExistenceExpectation.EXPECT_EXIST), primaryKey);

    // Panggil operasi DeleteRow untuk menghapus data. 
    otsClient.DeleteRow(deleteRowRequest);

    // Jika tidak ada pengecualian yang dikembalikan, operasi berhasil. 
    Console.WriteLine("Penghapusan tabel berhasil.");
}
catch (Exception ex)
{
    // Jika pengecualian dikembalikan, operasi gagal. Tangani pengecualian. 
    Console.WriteLine("Penghapusan tabel gagal, pengecualian:{0}", ex.Message);
}            

Hapus beberapa baris data sekaligus

  1. Pilih metode yang sesuai berdasarkan kebutuhan bisnis Anda untuk menanyakan informasi primary key tentang data yang ingin dihapus.

    • Untuk menghapus data dengan nilai primary key dalam rentang tertentu, panggil operasi GetRange untuk menanyakan data dan mendapatkan informasi primary key terkait. Untuk informasi lebih lanjut, lihat Baca Data dengan Nilai Primary Key dalam Rentang Tertentu.

    • Untuk menghapus data yang memenuhi kondisi tertentu dari tabel dengan indeks pencarian, gunakan indeks pencarian untuk menanyakan data dan mendapatkan informasi primary key terkait. 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, dengan primary key awal diatur ke INF_MIN dan primary key akhir ke INF_MAX untuk memindai semua data dalam tabel. Dengan cara ini, Anda bisa mendapatkan informasi primary key tentang semua data. Namun, proses ini mengonsumsi banyak sumber daya komputasi. Lanjutkan dengan hati-hati.

  2. Panggil operasi BatchWriteRow untuk menghapus beberapa baris data sekaligus berdasarkan informasi primary key terkait. Untuk informasi lebih lanjut, lihat Tulis Beberapa Baris Data Sekaligus.

Referensi

TTL (Time to Live) 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.