0

このウェブサイトで解決策を探してみましたが、見つからないようです。

テーブルのどのフィールドが制約エラーの原因であるかを知る方法を見つける必要がありました。テーブルでは、membersテーブル2のフィールド(username、email)が一意のキーであり、主キー(memberid)とは別に一意のキーとして定義されています。同様のユーザーやメールアドレスのデータをこのテーブルに追加すると、このエラーが発生します。

"key2の重複エントリ'myemail@mail.com'"

「そのメールはすでに登録されています」と言うように、どのフィールドが重複エントリを引き起こしているのかをユーザーに伝えたい

挿入時にエラーキーをループするmysql関数が見つからないようです...

4

2 に答える 2

2

私のサイトでは、実際に Select 1 from tab where field = 'value' limit 1; で一意のフィールドを自分でチェックしています。挿入ステートメントから返される例外に遭遇する代わりに、適切なエラー メッセージを表示できるようにするためです。

于 2009-11-09T01:53:10.247 に答える
0

名前付け制約フィールドは、まだ mysql の機能ではないと思います。これは非常に便利で、多くのコード時間と行数を節約できるため、これを検討してほしいと願っています。

于 2009-11-09T05:37:35.630 に答える