Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
mysql [2021/11/09 14:49] – [Tauschen von Werten in einer Zelle] gerald | mysql [2021/11/22 18:39] – [Alle Klassenlisten löschen ( wenn schon Barcodes/Nachbestellnummern erstellt wurden)] gerald | ||
---|---|---|---|
Zeile 264: | Zeile 264: | ||
< | < | ||
DELETE FROM `qf_classlist` WHERE `jobnumber` = XXX | DELETE FROM `qf_classlist` WHERE `jobnumber` = XXX | ||
+ | </ | ||
+ | |||
+ | ==== Auf nicht existierende Klassenlisteneinträge zeigende NB-Nummern suchen/ | ||
+ | ==== | ||
+ | |||
+ | Wenn die Klassenliste gelöscht wurde, aber schon Nachbestellnummern erzeugt wurden, kann es sein, dass NAchbestelleinträge ins Nichts führen. | ||
+ | |||
+ | So kann man diese Einträge finden: | ||
+ | |||
+ | < | ||
+ | SELECT r.*, pr.classlist_id as CID FROM `qf_reorder` as r JOIN qf_picture_relation as pr ON r.id = pr.reorder_id LEFT JOIN qf_classlist as c ON pr.classlist_id = c.id WHERE pr.picture_id = 0 AND pr.classlist_id >0 AND c.id IS NULL ORDER BY pr.classlist_id | ||
+ | </ | ||
+ | |||
+ | Haben die alten und die neuen CIDs einen bestimmten Abstand X, kann man die Relations updaten (man sollte wissen, in welchen Bereich die gelöschten CIDs lagen): | ||
+ | |||
+ | (MariaDB) | ||
+ | < | ||
+ | |||
+ | SELECT * FROM qf_picture_relation as pr JOIN qf_reorder as r ON r.id = pr.reorder_id LEFT JOIN qf_classlist as c ON pr.classlist_id = c.id WHERE pr.picture_id = 0 AND pr.classlist_id >0 AND c.id IS NULL AND pr.classlist_id >= 450764 AND pr.classlist_id <= 450833 ORDER BY pr.classlist_id LIMIT 71 | ||
+ | |||
+ | UPDATE qf_picture_relation as pr JOIN qf_reorder as r ON r.id = pr.reorder_id LEFT JOIN qf_classlist as c ON pr.classlist_id = c.id SET classlist_id = (classlist_id + X) WHERE pr.picture_id = 0 AND pr.classlist_id >0 AND c.id IS NULL AND pr.classlist_id >= 450764 AND pr.classlist_id <= 450833 LIMIT 71 | ||
</ | </ | ||