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/05/25 16:37] – [Zeichensatz einer Colum einer Tabelle in UTF-8 ändern] gerald | mysql [2021/11/22 18:39] – [Alle Klassenlisten löschen ( wenn schon Barcodes/Nachbestellnummern erstellt wurden)] gerald | ||
---|---|---|---|
Zeile 160: | Zeile 160: | ||
UPDATE `qf_classlist` SET address1 = CONCAT (SUBSTRING_INDEX( `address1` , ' ', -1 ), ' ', SUBSTRING_INDEX( `address1` , ' ', 1 )) WHERE `jobnumber` = 2061 AND `address1` LIKE ' | UPDATE `qf_classlist` SET address1 = CONCAT (SUBSTRING_INDEX( `address1` , ' ', -1 ), ' ', SUBSTRING_INDEX( `address1` , ' ', 1 )) WHERE `jobnumber` = 2061 AND `address1` LIKE ' | ||
</ | </ | ||
+ | |||
+ | Tausche Vor/ | ||
+ | |||
+ | < | ||
+ | UPDATE `qf_classlist` SET name = CONCAT (SUBSTRING_INDEX( `name` , ', ', -1 ), ', ', SUBSTRING_INDEX( `name` , ', ', 1 )) WHERE `jobnumber` = 2710 | ||
+ | </ | ||
+ | |||
+ | |||
==== Feld auf einh. Länge bringen (durch führende Nullen) ==== | ==== Feld auf einh. Länge bringen (durch führende Nullen) ==== | ||
Zeile 256: | 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 | ||
</ | </ | ||