Nach WHERE IN () Sortieren
Um die Ergebnisse eines Queries mit einem WHERE IN()
in der Reihenfolge der Elemente aus der Menge zu sortieren:
SELECT * FROM `table` WHERE id IN (8,3,6) ORDER BY FIELD(id,8,3,6);
Um die Ergebnisse eines Queries mit einem WHERE IN()
in der Reihenfolge der Elemente aus der Menge zu sortieren:
SELECT * FROM `table` WHERE id IN (8,3,6) ORDER BY FIELD(id,8,3,6);
Jetzt bin ich seit gut einer Millionen Jahre Entwickler und arbeite mit SQL Datenbanken. Aber jetzt ist mir erst aufgefallen, dass bei einem ORDER BY
auf ein Enum Feld nicht alphanumerisch sortiert wird sondern nach der Reihenfolge in der Definition des Enum.
SELECT * FROM table ORDER BY CAST(col AS CHAR);
vs.
SELECT * FROM table ORDER BY col;
wenn
col enum('b','a') NOT NULL DEFAULT 'b'
Wesentlich eleganter als einen leeren Datensatz einzufügen und dann die lastInsertId zu nehmen, ist es den Status der Tabelle abzufragen, denn der enthält die nächste Auto Increment Id.
SHOW TABLE STATUS WHERE name = 'yourTableName';
Liefert im Result den Wert in Feld Auto_increment
.
SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'YourDataBaseName'
AND TABLE_NAME = 'yourTableName';
Liefert dann nur den einen Wert.
Ja, irgendwo war Heute ein Tag der Veränderung. Nachdem ich nun über etliche Jahre Sequel Pro als grafisches Frontend für MySQL benutzt habe, kam ich in jüngster Vergangenheit nicht umher eine gewisse Stagnation in der Weiterentwicklung zu beobachten. Erst gab es noch regelmäßige Nightlies, die mal mehr und mal weniger gut funktioniert haben. Aber seit einer Weile scheint es auch damit vorbei zu sein. Zu einem Augenblick da die Stabilität auch noch arg zu wünschen übrig lässt. Also musste langsam mal eine Alternativ her.
TablePlus war die erste Option. Die Liste der unterstützten DB System ist spannend. Dankenswerter Weise ist auch MongoDB darunter. Aber leider ist TablePlus für meine Begriffe etwas zu fancy und auch irgendwie ein wenig anstrengend.
Die zweite Alternative war Querious 2. Ich mach’s kurz. Querious ist schlichter und einfacher. Und die Shortcuts haben mich überzeugt.
Als Hintergrund: ich benutze das Frontend nicht um Strukturen zu entwerfen sondern idR. um mal schnell einen Blick auf eine DB zu werfen und Daten zu analysieren. Und vielleicht mal den einen oder anderen Datensatz zu ändern oder einen Query für den einmaligen Gebrauch zu schreiben. Raw SQL Queries im Application Context empfinde ich hingegen als ein No-Go.