sql >> Database >  >> RDS >> Mysql

dubbele vermeldingen in de database voorkomen

Het spijt me te moeten zeggen dat dit de verkeerde benadering is.

Databases hebben een ingebouwd systeem om te voorkomen dat gegevens worden gedupliceerd. Dat is door middel van primaire sleutels of unieke sleutelbeperkingen. In jouw geval heb je al een primaire sleutel gemaakt. U hoeft dat dus absoluut niet te doen SELECT COUNT(*) vraag.

Plaats in plaats daarvan direct in de tabel en ondervang de integriteitsfout wanneer de pcode al bestaat.

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

Raadpleeg ook de MySQL-handleidingpagina PRIMARY KEY en UNIEKE indexbeperkingen



  1. Over knelpunten in de prestaties van SQL Server gesproken

  2. WHERE-instructie na een UNION in SQL?

  3. Mysql - Help me deze zoekopdracht te wijzigen om de gewenste resultaten te krijgen

  4. Nieuwe data voor gratis certificeringsexamens op Oracle Cloud en Autonomous Database