Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mencegah duplikat catatan di database saya saat memperbarui catatan?

Jika aplikasi Anda mendukung banyak pengguna, Anda perlu memastikan bahwa perubahan tidak dilakukan oleh pengguna lain antara pemeriksaan duplikat dan pembaruan basis data.

Cara termudah untuk melakukannya adalah seperti yang disarankan mbeckish, buat batasan UNIK pada kolom judul:

ALTER TABLE maindatabase.animelist 
ADD CONSTRAINT U_animelist_TitleAnime UNIQUE (TitleAnime)

Mesin database kemudian akan menerapkan judul unik dan klien Anda dapat menangani umpan balik pengguna dengan menangkap pengecualian pelanggaran batasan:

void checkData()
{
    SuspendLayout();
    try
    {

        updateData();

    }
    catch (Exception ex)
    {
        MySqlException sqlEx = ex as MySqlExecption;
        // If there is a constraint violation error.
        // (I may have the wrong error number, please test.)
        if (sqlEx != null && sqlEx.Number == 1062) 
        {
            my = Form.ActiveForm as MyList;
            my.msg = new Message_Box();
            my.msg.Descrip.Text = "Record is already in the Database";
            my.msg.Title.Text = "Duplicate Record";
            my.msg.ShowDialog();
        } 
        else 
        {
            MessageBox.Show("" + ex);
        }
    }
    finally
    {
        ResumeLayout();
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Tabel duplikat

  2. Bisakah saya secara otomatis menemukan executable MySQL dari PHP?

  3. Batas MySQL dengan Banyak ke Banyak Hubungan

  4. Mysql rekursif mengurangi dan mengalikan nilai yang dikelompokkan

  5. mysql - Membuat performa baris vs. kolom