3

この制約が存在しない古いデータベースから行を挿入する UNIQUE 列制約を持つデータベースがあります。

問題の原因となっている行を特定したいのですが、現在は開発データなので問題ありませんが、システムが本番環境にある場合は、重複エントリエラーの一般的なハンドリングが必要です。

現在、有用な情報なしで \Phalcon\Db\Exception を取得しています (例外コードは 0 であり、例外メッセージは単なるクエリであり、/ 重複エラーではありません)。これは、mysql 1062 重複エラー コードを検出できないことを意味します。

1062 mysql エラーが発生したことを識別するために、Phalcon_DUP_ERR などの例外コードで \Phalcon\Db\Exception をキャッチできれば、それがやりたいことですが、方法がわかりません。

Phalcon のドキュメントを閲覧しようとしましたが、mysql エラーの処理について何も見つかりませんか?

4

1 に答える 1

2

0.5.0 では、例外のエラー モードは ERRMODE_SILENT でした。このモードはあまり役に立ちません。一部のエラーは突然サイレントになります (警告も)。0.5.1 では、エラー モードが ERRMODE_EXCEPTION に変更され、より適切な情報が提供されます。

于 2012-09-26T15:48:52.513 に答える