Mysql
 sql >> Baza danych >  >> RDS >> Mysql

zapobiegać zduplikowanym wpisom do bazy danych

Przykro mi, że to złe podejście.

Bazy danych mają wbudowany system zapobiegający duplikowaniu danych. Odbywa się to poprzez klucze podstawowe lub unikalne ograniczenia klucza. W twoim przypadku masz już utworzony klucz podstawowy. Więc absolutnie nie musisz tego robić SELECT COUNT(*) zapytanie.

Zamiast tego po prostu wstaw bezpośrednio do tabeli i złap błąd integralności, gdy kod już istnieje.

Try
    cmd = New MySqlCommand("Insert into personnel values('" & pcode.Text & "','" & lname.Text & "','" & fname.Text & "','" & office.Text & "','" & designation.Text & "')")

    i = cmd.ExecuteNonQuery


    If pcode.Text <> "" Then
    ElseIf i > 0 Then
        MsgBox("Save Successfully!", MessageBoxIcon.Information, "Success")
        mrClean()
        ListView1.Tag = ""
        Call objLocker(False)
        Call LVWloader()
        Call calldaw()
    Else
        MsgBox("Save Failed!", MessageBoxIcon.Error, "Error!")
    End If
Catch ex As MySqlException
    MsgBox("Personnel ID Already Exist!", MessageBoxIcon.Error, "Error!")
End Try

Zapoznaj się również ze stroną podręcznika MySQL KLUCZ PODSTAWOWY i UNIKALNE Ograniczenia Indeksu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczna nazwa kolumny za pomocą przygotowanej instrukcji + zapytanie sql ze zmienną zawierającą 's

  2. Licz od stołu, ale przestań liczyć od określonej liczby

  3. PHP MySQL wstawia wielowymiarowe zapytanie budujące tablicę asocjacyjną z kluczy tablic

  4. niezdefiniowana metoda `eq' dla nil:NilClass z rails 3 i ruby ​​enterprise na ubuntu hardy

  5. Jak mogę zaimplementować commit/rollback dla MySQL w PHP?