Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mysql [2025/03/23 19:22] – [mySQL] geraldmysql [2025/06/27 11:35] (aktuell) – [FA-Test-Bestellung löschen] gerald
Zeile 470: Zeile 470:
  
 </code> </code>
 +
 +==== FA-Test-Bestellung löschen ====
 +
 +Um neues Shopsystem zu testen, habe ich in 'dir' von vault_order_items einen Strin geschrieben, der immer mit 'I:' anfängt. Die sollen alle weg und die dazugehörigen vault_order gleich mit.
 +
 +Testen:
 +
 +<code>
 +-- Betroffene vault_order_items
 +SELECT * FROM vault_order_items WHERE dir LIKE 'I:%';
 +
 +-- Betroffene vault_order
 +SELECT * FROM vault_order
 +WHERE id IN (
 +    SELECT order_id FROM vault_order_items WHERE dir LIKE 'I:%'
 +)
 +AND id NOT IN (
 +    SELECT order_id FROM vault_order_items WHERE dir NOT LIKE 'I:%'
 +);
 +
 +</code>
 +
 +Echtes Löschen: (ACHTUNG! Löscht auch Bestellungen, bei denen nur ein einziger Item-Eintrag mit 'I: ' beginnt (was ja nicht vorkommen sollte))
 +
 +<code>
 +START TRANSACTION;
 +
 +-- 1. Lösche alle vault_order, deren *alle* Items mit 'I:' beginnen
 +DELETE FROM vault_order
 +WHERE id IN (
 +    SELECT order_id
 +    FROM vault_order_items
 +    GROUP BY order_id
 +    HAVING SUM(CASE WHEN dir NOT LIKE 'I:%' THEN 1 ELSE 0 END) = 0
 +);
 +
 +-- 2. Lösche alle vault_order_items mit dir LIKE 'I:%'
 +DELETE FROM vault_order_items
 +WHERE dir LIKE 'I:%';
 +
 +COMMIT;
 +
 +</code>
 +
 +
  
 
Nach oben
mysql.1742757777.txt.gz · Zuletzt geändert: von gerald
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp