データを抽出するために複数のテーブルと結合されたテーブルを更新する必要があり、更新が失敗した場合はデータを新しい行に挿入します...現在、更新クエリがあります
.....
上記のクエリが失敗した場合、挿入する必要があると考えています
INSERT INTO ASSET_ASSOCIATION.....
ありがとう ...
データを抽出するために複数のテーブルと結合されたテーブルを更新する必要があり、更新が失敗した場合はデータを新しい行に挿入します...現在、更新クエリがあります
.....
上記のクエリが失敗した場合、挿入する必要があると考えています
INSERT INTO ASSET_ASSOCIATION.....
ありがとう ...
上記の限られた詳細で完全な回答を提供することは不可能ですが、Loopo が言うように、INSERT....ON DUPLICATE KEY UPDATEを使用できます。たとえば、UPDATE に基づいて:-
INSERT INTO ASSET_ASSOCIATION(ASSET_ID, ASSOCIATED_ASSET_ID, ASSET_FIELD_ID)
SELECT a.ID, b.ID, 46
FROM ASSET a
INNER JOIN HD_TICKET ON HD_TICKET.CUSTOM_FIELD_VALUE2 = a.NAME
INNER JOIN USER U ON U.ID = HD_TICKET.SUBMITTER_ID
INNER JOIN ASSET b ON U.FULL_NAME LIKE BINARY CONCAT('%',b.NAME,'%') AND b.NAME <> ''
WHERE ASSET.ASSET_TYPE_ID = 5
AND HD_TICKET.ID = 120
ON DUPLICATE KEY UPDATE ASSOCIATED_ASSET_ID=VALUES(ASSOCIATED_ASSET_ID)
これは、asset_id と asset_field_id に一意のキーがあることを前提としています。ただし、テーブルがこれよりも複雑であることはほぼ確実です。