問題タブ [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 - MySQL Binary Log Replication: エラーを無視するように設定できますか?
一部のデータについて同期していない (つまり、マスターがスレーブよりも多くのデータを保持している) マスター/スレーブ MySQL バイナリ ログ レプリケーション システム (うわー!) を実行しています。しかし、スレーブはわずかな MySQL エラーで非常に頻繁に停止します。これを無効にできますか? (おそらく、複製スレーブ ignore-replicating-errors またはいくつかの並べ替えの my.cnf 設定 ;) )
これは、スレーブが存在しないアイテムを複製しようとすると、時々発生することであり、スレーブはただ死んでしまいます。SHOW SLAVE STATUS \Gで簡単にチェックします。与える
次の手順を実行して、(スレーブが停止していることに気付いたら) すぐに修正します。
...最近、これはちょっと面倒になってきました。これを行うある種のPHPを吐き出す前に、最初のエラーでスレーブを強制終了しない my.cnf エントリがあるかどうか疑問に思っていました。
乾杯、
/mp
php - 重複エントリがない場合のmysql重複エントリエラー(php経由の一括ロード)
私はmysql (5.0.32-Debian_7etch6-log)を使用しており、夜間に実行するバルク ロードphp (5.2.6)スクリプト( PDO 経由でZend_DB (1.5.1) を使用) を使用しています。これは次のことを行います。
- 4 つの「インポート」テーブルのセットを切り捨てる
- これら4つの「インポート」テーブルにデータを一括挿入します(以前にテーブルにあったIDも再利用しましたが、テーブル全体を切り捨てたので、問題にはなりませんよね?)
- すべてがうまくいけば、「ライブ」テーブルの名前を「一時」に変更し、「インポート」テーブルを「ライブ」に変更し、「一時」(古い「ライブ」) テーブルを「インポート」に変更します。
これは何週間もうまくいきました。現在、一括読み込みプロセス全体の途中で、時折これを取得しています。
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1
これは、既に切り捨てられる前にテーブルにあった最初の ID ではないことに注意してください。スクリプトを手動で再度開始すると、魅力的に機能します。
何か案は?残りのインデックス、おそらく名前の変更と関係がありますか?
さらに、後でID 911のエントリのテーブルを確認すると、そこにもありません。
php - MySQL と同じ方法で PHP の文字列を比較する
varchar を utf8 MySQL テーブルに格納し、utf8_general_ci 照合を使用しています。varchar に一意のインデックスがあります。MySQL がインデックスに対して行うことと同等の文字列比較を PHP で行いたいと考えています。
特定の例は、これが起こる前に、PHP で 'a' が 'À' と同等であると見なされることを検出できるようにしたいということです。
mysql - Django でフィクスチャをロードするときの contenttypes の問題
contenttypes の競合が原因で、Django フィクスチャを MySQL データベースにロードできません。最初に、次のように自分のアプリからのみデータをダンプしてみました:
しかし、私のアプリ「escola」は他のアプリケーションのテーブルを使用しているため、外部キーが見つからないという問題が発生し続けました。これに到達するまで、アプリを追加し続けました。
問題は、データをテスト フィクスチャとしてロードしようとすると、次の制約違反です。
問題は、Django がフィクスチャの主キー値と競合する異なる主キー値を持つ contenttypes を動的に再作成しようとしているようです。これは、ここに記載されているバグと同じようです: http://code.djangoproject.com/ticket/7052
問題は、推奨される回避策は、私が既に行っている contenttypes アプリをダンプすることです!? 何を与える?違いがある場合は、ここに記載されているように、いくつかのカスタム モデルのアクセス許可を持っています: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
mysql - MySQL の更新動作
mysql> update tablename set fieldname = 'C200900674' where fieldname - 'C200900673';
エラー 1062 (23000): キー 1 のエントリ 'C200900674-2008-0-1' が重複しています
これに関する考えや提案はありますか?等号の代わりにマイナス記号を使用して誤ってその更新を行った人がいます。その値よりも小さいすべてのレコードを変更しようとしたようです。英数字であり、実際にはかなり不完全ですが。その上、エラーが発生する前に大量のレコードが更新され、フィードバックはまったくありませんでした。「クエリOK、X行が影響を受けました(0.00秒)」のようなものではないため、変更された数がわかりませんでした。autocommit=1 なので、ロールバックできません。
とにかく、これに関するヒントや指針を探しているだけです。なぜそのクエリが何かをしたのか、実際にはエラーが返されたはずです。もちろん、経験の浅い管理者に骨の折れることをさせないという明白な答えを除いて.
php - データベースでの同時アップロードの処理
私の Web アプリでは、ユーザーが大量の写真をサーバーに同時にアップロードし、それらをデータベースに保存できます。最初の写真のアップロードが完了すると、今日の日付に基づいてデフォルトのアルバムが作成され、それに追加されます。しかし、photo1 が完了し、アルバムを探し、見つからないため、作成することを決定しますが、その前に photo2 が完了し、アルバムを見つけることができないため、両方が同じアルバムを作成しようとすると、失敗の原因?これはおそらく非常にありそうもないことですが、私はそう思うかもしれません。それとも、ほとんどの Web サーバーは一度に 1 つの PHP スクリプトしか処理しないのでしょうか?
これは有効で適切な解決策でしょうか?: photo1 は最初にアルバムが存在するかどうかを確認する代わりに、アルバムを作成しようとします。エラー 1062 (エントリの重複) が返された場合は、そのエントリが選択されます。考えてみれば、どちらが先に終わるかは問題ではありません...エラーをキャッチすることがパフォーマンスに大きな影響を与えるかどうかはわかりません。200 枚の写真をアップロードすると、そのうちの 199 枚が挿入クエリに失敗し、選択を試みます。他のソリューションが正しく機能する場合、199 は成功し、1 つが失敗します。
考え?
java - WinXP および Mac OS X の MySql
私はこの奇妙な問題に直面しています。Win XP のマシンでコーディングしてから、すべてのコードを Mac OS X マシンに移動しています。XPマシンのjarを使用して実行します。私はJavaでコーディングしており、データベース処理に休止状態を使用しています。
インクリメントジェネレータークラスを使用してキーが生成されている間、どういうわけか1行を挿入できません。Macでもネイティブですが同じエラーを試しました。
これがデバッグモードです。これで、キー違反としてエラーが発生することがわかりましたが、WinXP では同じことは発生しません。コードを実行する前にデータベースを切り捨てます。それらはMacのジェネレータークラスの依存関係だと思います。それとも他の瓶?
そして、ここにいくつかの詳細があります:
- Mac OS X 10.5 (x86_64)
- MYSQL 5.1.35 コミュニティ サーバー
- mysql-connector-java-5.1.7-bin.jar JDBC ドライバー
- Java(TM) 2 ランタイム環境、標準版 (ビルド 1.5.0_16-b06-284)
- Java HotSpot(TM) Client VM (ビルド 1.5.0_16-133、混合モード、共有)
お知らせ下さい
java - Hibernate奇妙な動作を保存する
文字列型と1対多の関係にあるユーザーオブジェクトがあります。単純なマッピングだと思います。typesテーブルは、関連付けられたuser_idと変数の型名を保持します。主キー「id」は基本的にカウンターです。
これは、データベースに追加するために使用したJavaです。
実行すると、次のエラーが発生します。
SQLを確認すると、次のように表示されます。
- HibernateがタイプのIDを更新しようとするのはなぜですか?
エラーは次のように述べています。キー「PRIMARY」のエントリ「6」が重複していますが、実際にはありませんか?IDが毎回インクリメントされることを確認しました。そして、ユーザーとタイプがデータベースに正しく追加されます。
入ってくる情報を記録しましたが、追加されたタイプのIDは7、ユーザーIDは6です。Hibernateがuser_idを6にして、タイプを更新し、id=6を設定しようとした可能性があります。したがって、重複する主キーエラー?
しかし、なぜそれはそんなに奇妙なことをするのでしょうか?更新を停止する方法はありますか?
- IDを手動で設定する必要がありますか?そうでない場合、どのようにタイプを追加する必要がありますか?タイプ文字列のみを含み、IDを含まないタイプオブジェクトを追加すると、他のエラーが発生します。
みんなありがとう。何日もそれを熟考してきました...
mysql - Hibernate から重複エントリ エラーが発生しました。MySQL のせいですか?
ほとんどが読み取り専用のデータベース アプリケーションで作業していますが、アプリ内のユーザーの動きを記録し、多数の書き込みを行うテーブルが 1 つあります。数千回の書き込みごとに、次のようないくつかの例外がエラー ログに表示されます。
問題のテーブルには、次のスキーマがあります。
対応する Hibernate マッピング XML:
アプリケーションの新しいバージョンをシームレスにリリースするために、webapp コンテキストでバージョン番号を付けているため、可能性は低いですが、webapp の複数のインスタンスが一度にデータベースに書き込みを行う可能性があります。そのため、古いバージョンのアプリケーションが Web ブラウザーにキャッシュされているクライアントは、古いバージョンのサーバーにアクセスし、数週間後にデプロイを解除しました。
とにかく、これが問題であるとは確信していませんが、MySQL と Hibernate の間で同期の問題が発生しているのではないかと疑っています。ジェネレーターをシーケンス、seqhilo、または hilo に変更すると効果がありますか? また、MySQL でこのようなジェネレーターをセットアップする例を提供できれば、非常に役に立ちます。オンラインのリソースのほとんどは、Hibernate マニュアルの非常に最小限の例から単純にコピーして貼り付けたものだからです。
sql - フィールドをユニークにできません!
テーブルに 2 つ以上の一意のフィールドを含めることはできませんか、それともここで何か間違っていますか?
ユーザー名用の一意のキーが 1 つあり、メール用にもそれが必要ですが、
#1062 - Duplicate entry '' for key 'email'
表: