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

重複エントリのエラーを処理するにはどうすればよいですか?

    この特定のエラーを確認するには、エラーコード1062です 重複キーの場合。次に、 errno()の結果を使用します 比較するには:

    mysqli_query('INSERT INTO ...');
    if (mysqli_errno() == 1062) {
        print 'no way!';
    }
    

    プログラミングスタイルに関する注意
    常に、マジックナンバー の使用を避けるように努める必要があります。 (私は知っています、私はこの答えでそれを紹介した人でした)。代わりに、既知のエラーコード(1062)を割り当てることができます。 )を定数(例:MYSQLI_CODE_DUPLICATE_KEY )。これにより、ifの条件としてコードを維持しやすくなります。 1062の意味がわかった場合、ステートメントは数か月でまだ読み取り可能です。 記憶から消えた:)



    1. MySQLは最新の行のみに参加しますか?

    2. 純粋なmysqlでこれを解決できますか? (列の''で区切られた値に参加します)

    3. SQLServerを使用してvarchar列で非ASCII文字を検索する

    4. PostgreSQLメルトダウンベンチマーク