MULE ESB 3.7コミュニティ版、MYSQL DBコネクタ、操作:挿入、タイプ:パラメータAnypointメーカー:バージョン:5.4.0MULE:MYSQL CONNECTOR INSERT ON DUPLICATE UPDATE
MySQLのクエリ:
INSERT INTO TABLE1 (VAR1,VAR2) VALUES (2,1) ON DUPLICATE KEY UPDATE VAR1= 2, VAR2 = 1;
VAR1
はテーブルのユニークキーです。 これは主キーではありません。
問題:上記のクエリは、MySQL Workbechからうまく機能します。ミュールでは、すべては限りデータでVAR1
には重複する値が存在しないとうまく動作します。 47::32538 [[Project1の] .HTTP_Listener_Configuration.worker.01] org.muleデータでVAR1
の重複値がある場合は、次のエラーが
ERROR 2016年7月26日13来ます.exception.CatchMessagingExceptionStrategy:
メッセージ:重複したエントリ '1' キー 'VAR1_KEY_UNIQUE' (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException)について。 メッセージペイロードタイプのものである:のLinkedHashMap型: org.mule.api.MessagingExceptionコード:MULE_ERROR - 2のJavaDoc: http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.htmlペイロード:{VAR1 = 55、VAR2 = 97} SQLコード:1062 SQL状態:23000
例外スタックがあります。1.重複エントリ '1' キーのための 'VAR1_UNIQUE'(SQL コード:1062、SQLの状態:+ 23000) (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException) sun.reflect。 NativeConstructorAccessorImpl:-2(ヌル)2.重複エントリ '1' キーの 'VAR1_KEY_UNIQUE' (com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException)。 メッセージペイロードは型である:のLinkedHashMap (org.mule.api.MessagingException) org.mule.module.db.internal.processor.AbstractDbMessageProcessor:93 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
QUESTION:どのようにMule Anypoint Studio MySQL ConnectorからINSERT ... ON DUPLICATE KEY UPDATE
クエリを使用できますか?
不要太字/大文字避けてください助け、あなたのポストを読みやすくするために、適切なフォーマットを使用する場合があります。 – mauris
このエラーは、既にテーブルに既存のプライマリキーの値があることを示しています。コードをチェックし、主キーフィールドにレコードを挿入するような作業は避けてください。 –
@reds - VAR1はユニークキーです。主キーではありません。ビジネスロジックごとに、場合によっては挿入または更新する必要があります。上記のクエリは、私はワークベンチを経由して、それを使用するときに動作しますが、私は、エラーの原因を確認していないCE 37を使用してミュール(Anypointスタジオ)を介して処理時にエラーが発生します。したがって、ポスト。 – Raj