MySQL zum Aktualisieren eines XML-Attributs

Beim Laden der Daten scheinen einige XML-Attribute falsch zugeordnet zu sein, und ich versuche jetzt, dies zu korrigieren, habe aber Probleme mit der Behandlung dieser XML-Spalte durch MySQL.

Ich möchte die XML-Attribute (Not Values) für alle Vorkommen eines Feldes (mit Attribut 'tag = "520"') mit Unterfeld (mit Attribut 'code = "3"') korrigieren. Die folgende Abfrage gibt 0 betroffene Zeilen und 1 gefundene Zeilen zurück. Hinweise, wie dies erreicht werden kann.

UPDATE biblioitems
SET marcxml = UpdateXML(marcxml,'datafield[@tag="520"]/subfield[@code="3"]',
                     'datafield[@tag="520"][@ind1="3"]/subfield[@code="a"]')
WHERE biblionumber = '220405';

XML-Fragment zur Verdeutlichung enthalten:

Originalfragment

<datafield tag="300" ind1=" " ind2=" ">
  <subfield code="f">article</subfield>
</datafield>
<datafield tag="520" ind1=" " ind2=" ">
  <subfield code="3">A description of something here</subfield>
</datafield>
<datafield tag="655" ind1=" " ind2=" ">
  <subfield code="a"></subfield>
</datafield>

Was ich als Ergebnis haben möchte:

<datafield tag="300" ind1=" " ind2=" ">
  <subfield code="f">article</subfield>
</datafield>
<datafield tag="520" ind1="3" ind2=" ">
  <subfield code="a">A description of something here</subfield>
</datafield>
<datafield tag="655" ind1=" " ind2=" ">
  <subfield code="a"></subfield>
</datafield>

Konnte nicht herausfinden, wie die Änderung in einem Codeblock hervorgehoben werden soll (es ist das ind1-Attribut im tag = "520" -Datenfeld und die zugehörigen Unterfeldattribute)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage