sql >> データベース >  >> RDS >> Mysql

データベースへの重複エントリを防止します

    申し訳ありませんが、これは間違ったアプローチです。

    データベースには、データの重複を防ぐためのシステムが組み込まれています。これは、主キーまたは一意キーの制約によるものです。あなたの場合、あなたはすでに主キーを作成しています。したがって、SELECT COUNT(*)を実行する必要はまったくありません。 クエリ。

    代わりに、テーブルに直接挿入して、pcodeがすでに存在する場合に整合性エラーをキャッチします。

    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
    

    MySQLマニュアルページPRIMARYKEYおよび一意のインデックス制約



    1. ツリービューコントロールを使用したアクセスメニューの作成

    2. クラウド内のPostgreSQLクラスターのほぼゼロのダウンタイム自動アップグレード(パートII)

    3. JSON_CONTAINS_PATH()MySQLの例

    4. ansi_nullsについての何か