問題タブ [mysql-error-1062]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - username=email でユーザーを保存する際の IntegrityError
新しいユーザーが登録されたときに、ユーザー名と電子メールが同じになるように、アプリケーションを変更しました。しかし、新しいユーザーが作成されると、IntegrityError : (1062, "Duplicate entry 'my@email.com' for key 'username'")が発生しますが、それでもユーザーは正しく作成されます。
関数 register_new で新しいユーザーが作成されます (「temp_data」は form.cleaned_data の辞書です):
新しいユーザーを作成する registration.backend register 関数は次のとおりです。
トレースバック:
私は解決策をグーグルで検索し、テーブルの削除/同期、さまざまな場所での IntegrityError のキャッチ、テーブル列のデコード フィールドの変更など、さまざまな方法を見つけました (utf8_bin に設定しようとしましたが、結果はありません)。この問題を解決するには?
テーブル構造:
http://i27.tinypic.com/dotmjs.png
http://i32.tinypic.com/1zq79tj.png
django docs でこのチケットを見つけました: http://code.djangoproject.com/ticket/3083 ただし、同時に 2 つのモデルが作成されるはずです。私の場合、このようなことは何も起こらないと思います:/
更新 モデル:
php - phpmyadmin エラー "#1062 - キー 1 のエントリ '1' が重複しています"
データベースからすべてのテーブルを削除し、バックアップを復元 (インポート) しました。その後、私は取得してerror #1062 - Duplicate entry '1' for key 1
います。
プロセスを繰り返す必要があります。または、他の何か?なぜこのエラーが発生するのですか?
mysql - 重複キー エラーなしで MYSQL ダンプからデータを復元する方法は?
ダンプを復元しようとするたびに、次のようになります。
エラー 1062 (23000) 10297 行目: キー 'PRIMARY' のエントリ 'spaß' が重複しています
次を使用して復元しようとしています:
sql - 別々のテーブルの 2 つの列を結合する
たとえば、次のように言いましょう。
old_dataとnew_dataの 2 つのテーブルがあります。
old_dataとnew_dataの両方に、 this_is_colという 1 つの列があります。
old_dataとnew_dataの両方に、さまざまな (数百の) 日付の行 (2010-02-06、2010-01-09、2007-06-02 など) があります。両方のテーブルの日付は必ずしも同じではありませんが、形式は同じです。
両方のテーブルのフィールドはさまざまな整数です。
私の仕事:
フィールドをold_dataからnew_dataにコピーします。
両方のテーブルに日付が存在する場合、 new_dataのフィールドが置き換えられます。
日付がnew_dataに存在しない場合、正しい行が追加され、フィールドがコピーされます。
これが私が得た距離です:
一時列を作成します。
old_dataからデータをコピー:
一時列とnew_dataを結合します。this_is_col . (ここまでたどり着いていないので、このステップを本当に理解していません)。
一時テーブルを削除
2 番目のアクション (データを一時列に転送する) を実行すると、次のエラーが発生します。
#1062 - Duplicate entry '0000-00-00' for key 1
そして今、私は立ち往生しています。どんな助けでも大歓迎です。MySQL と phpMyAdmin を使用して SQL コマンドをテストしています。
mysql - phpMyAdmin エラー #1062 - キー 1 のエントリ '1' が重複しています
なぜこのエラー #1062 - Duplicate entry '1' for key 1 cany が表示されるのかわかりません。ありがとう
doctrine - PHP Doctrine - 整合性制約違反: 1062 重複エントリ (主キー)
User
カスタム PDO クエリから多くの関連オブジェクトをロードGroup
しています (Doctrine 接続 => $dbh = Doctrine_Manager::connection()->getDbh(); を使用)。クエリには、DQL でサポートされていないクロス結合が含まれています。
オブジェクトを手動で作成し、次のように値を渡します。
オブジェクトを保存できることを望んでいました(このコンテキストで変更できるため)。ただし、Doctrine は挿入を試み、キー制約に違反しています。User()
$u->some_field
エラーがスローされることは理解していますが、その列のみを更新できるようにしたいと考えていsome_field
ます (そしておそらく最も重要なのは、グループではありません)。上記のプリロードを使用しても、これはすべて可能ですか?
mysql - Mysql の一意のインデックスが特定のウムラウトで機能しない
「ニックネーム」という列があり、utf-8でエンコードされ、varchar(20)であるユーザーテーブルがあり、テーブルはInnoDBにあります。ニックネームが 'gunni' のレコードと、ニックネームが 'günni' のレコードが 2 つあります。この列に一意のインデックスを適用しようとすると、mysql で次のエラーが発生しました。
エラー 1062 (23000) 263 行目: キー 2 のエントリ 'gunni' が重複しています
「gunni」という名前のレコードが 1 つしかないデータを確認しました。「günni」レコードを別のレコードに変更してから、一意のインデックスを再度適用すると、すべて正常に動作します。
「günni」と「gunni」が重複するのはなぜですか? ここにそれらの 16 進値があります。これは mysql の hex() 関数で取得します。
グンニ -> 67756E6E69
グンニ -> 67C3BC6E6E69
それらは明らかに異なります。なぜmysqlはこれら2つを同じものとして扱うのですか? または、一意のインデックスについて知らないことがありますか? それとも、これは mysql のバグでしょうか?
mysql - 重複しているフィールドを見つける方法
私のテーブルには4つのフィールドがあり、そのうち2つのフィールドは一意です。たとえば、ユーザー名と電子メールです。人々はフロントエンドに登録します。ajaxを使用して登録結果を動的に表示します。
私は単一の挿入クエリを実行しています。エラーが発生した場合は、エラー番号を使用して、1062(重複エントリ)または1064(クエリ文字列エラー)のどちらであるかを確認します。それ以外の場合、ユーザーは正常に登録されています。
ユーザーを登録できなかった場合は、ユーザーフレンドリーな方法で理由を表示します。重複している場合は、ユーザー名がすでに存在するか、電子メールがすでに存在することを表示する必要があります。
ここでのポイントは、selectクエリを使用して、ユーザー名または電子メールがすでに存在するかどうかを確認したくないことです。存在しない場合は、挿入クエリを実行します。
上記のように実行している場合は、2つのクエリを実行する必要があります。クエリを1つだけ実行し、エラー番号とエラーメッセージを使用して、エラーの種類を正確にユーザーに表示したいと思います。
今、問題は重複にあります。
私はそれが重複していることを知りました、そして私はこのようなエラー文字列を持っています
キー「email」の重複エントリ「test@gest.com」またはキー「username」の重複エントリ「testing」
strposを使用してフィールド名を検索し、電子メールがすでに存在するか、ユーザー名がすでに存在することをユーザーに表示できるようにすることを考えました。
しかし、いくつかのサーバーでは私はこのようになります
キー2の重複エントリ'test@gest.com'またはキー3の重複エントリ'testing'
この場合、最後の部分を抽出するために正規表現を実行する必要があります。文字列の場合は、strcmpを実行して、重複するフィールドを細かくし、それに応じてエラーをユーザーに表示します。または、数値である場合は、どのフィールドに重複があるかを細かくするための単純なswitchステートメント。
****
したがって、テーブルにさらに一意のフィールドがある場合に、どのフィールドが重複しているかを取得する他の方法はありますか。
**または、ない場合は、この質問を人々の心に伝えて、すでにギミックを行っている場合は、ここで共有して、私のような人々が利益を得ることができるようにします。ありがとうございました。
php - PHP/MySqlで制約エラーのキーネームを取得しますか?
キー制約エラーのために挿入に失敗した場合、エラー テキストの文字列解析を行わずにキーの名前を取得する方法はありますか?
エラー コードが 1062 であることは既にわかっています。どのキー制約が失敗したかを知りたい:)
java - org.hibernate.exception.ConstraintViolationException:JDBCバッチ更新を実行できませんでした
データは正常に挿入されますが、以下のスタックトレースが表示されます。
ご注意ください:
a)現在データベースにレコードがありませんb)データがDBに正常に挿入されます。
ここでは、2つの参加者オブジェクトを含むイベントオブジェクトを永続化しようとしています。以上です。
私のテストクラス:
Event.hbm.xml:
hibernate.cfg.xml