Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
mysql [2017/10/18 14:03] – [Alle Klassenlisten löschen ( wenn schon Barcodes/Nachbestellnummern erstellt wurden)] gerald | mysql [2024/02/29 13:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
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 | ||
</ | </ | ||
Zeile 306: | Zeile 335: | ||
</ | </ | ||
+ | ==== Klassenliste nach Bild-ID ordnen ==== | ||
+ | Anwendungsfall: | ||
+ | |||
+ | < | ||
+ | UPDATE qf_classlist, | ||
+ | </ | ||
+ | |||
+ | ==== Fortlaufende Nummern im Barcodes-Feld vergeben ==== | ||
+ | |||
+ | Das Barcode-Feld soll fortlaufende Nummern bekommen, beginnend mit 1000: | ||
+ | |||
+ | < | ||
+ | SELECT @i:=1000; UPDATE `qf_classlist` SET code = @i:=@i+1 WHERE `jobnumber` = 1234 AND (code IS NULL OR code = '' | ||
+ | </ | ||
+ | |||
+ | ==== Zeichensatz einer Column einer Tabelle in UTF-8 ändern ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Doppelte Imports vom Schatzkiste/ | ||
+ | |||
+ | Kann eigentlich nicht sein, dass ein Tag doppelt importiert wurde (aber manchmal eben schon, weil es einen Fehler gab und es nochmal gemacht werden musste). Folge ist, dass die Statistik nicht mehr ganz stimmt. Kam bislang nur 3X vor. | ||
+ | |||
+ | Zeigt doppelte an: Quelle((https:// | ||
+ | |||
+ | < | ||
+ | SELECT liste.id, liste.jobnumber, | ||
+ | </ | ||