CHECK Klausel über ALTER TABLE hinzufügen

Ich finde das UI schon recht wichtig . Gerade als Anfänger ist es praktisch einen grafischen Überblick über die Datenbank und die wichtigsten Funktionen zu haben.
Würde gerne einen Client benutzen, das ist bei meinem Webhoster aber auch etwas umständlich, da nur externe Zugriffe von frei gegebenen IPs zugelassen sind und sich die ja täglich ändert. Werde aber trotzdem mal dbeaver probieren. Gibt es sonst noch php-basierte IDEs?
Sehe es auch als Vorteil, wenn man geräteunabhängig auf die DB zugreifen kann. Phpmyadmin für postgresql wäre nice :D
Was ist das für ein group by Fehler? Hab schon einige group by Abfragen in mysql gemacht ohne etwas bemerkt zu haben.
 
Werbung:
Ja, OmniDB empfehlen wir auch unseren Kunden, die Entwickler stehen auf unserer Gehaltsliste.

GroupBy: alle Spalten müssen ENTWEDER aggregiert ODER gruppiert werden. PostgreSQL prüft das, MySQL nicht und liefert Zufall, wenn gegen diese Regel verstoßen wird.
Und: wenn Du SSH-Zugang hast, kannst Du 5432 darüber tunneln und jeden beliebigen Client anwenden.
 
Um das Problem mit GROUP BY mal zu zeigen:

Code:
mysql> select * from demo;
+--------+------+
| gruppe | wert |
+--------+------+
|      1 |   10 |
|      1 |   20 |
|      1 |   30 |
|      2 |   30 |
|      2 |   10 |
+--------+------+
5 rows in set (0.00 sec)

mysql> select gruppe, max(wert) from demo;
+--------+-----------+
| gruppe | max(wert) |
+--------+-----------+
|      1 |        30 |
+--------+-----------+
1 row in set (0.00 sec)

PostgreSQL:

Code:
test=*# select * from demo;
 gruppe | wert
--------+------
      1 |   10
      1 |   20
      1 |   30
      2 |   30
      2 |   10
(5 rows)

test=*# select gruppe, max(wert) from demo;
ERROR:  column "demo.gruppe" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select gruppe, max(wert) from demo;
               ^
test=*# select gruppe, max(wert) from demo group by gruppe;
 gruppe | max
--------+-----
      2 |  30
      1 |  30
(2 rows)

test=*#
 
Ich habe mal Adminer und OmniDB ausprobiert. Beide finde ich nicht mit der Funktionalität von phpmyadmin vergleichbar.
Ein großer Vorteil bei phpmyadmin sind die Vorschläge beim Schreiben eines SQL-Befehls. Die funktionieren bei OmniDB nur eingeschränkt nach Tastenkombination, während bei phpmyadmin dauerhaft Vorschläge angezeigt werden die schnell per Tablulator angenommen werden können. Es fehlt auch eine Eingabemaske für das Einfügen von Datensätzen in Tabellen. Gerade bei Fremdschlüsselattributen ist es bei phpmyadmin hilfreich die möglichen Werte inkl. anderer Spaltenwerte als Auswahlmöglichkeit bereitgestellt zu bekommen. Bei OmniDB oder Adminer müsste ich dann erst in der referenzierten Tabelle nachsehen, damit ich den richtigen Integer-Wert eintragen kann. Ist sowieso nervig sich um die genaue Syntax des INSERT - Befehls Gedanken machen zu müssen und kein Komma oder Smikolon zu vergessen. Bei phpmyadmin kann man schnell mit der Tabulatortaste zum nächsten Attributwert springen.
Das Gesamtbild und die Übersichtlichkeit ist auch nicht besonders gut. Schade. Ich hätte ansonsten aufgrund der von euch genannten Argumenten von MySQL auf PostgreSQL umgestellt.
 
Werbung:
Gut. Bleib bei MySQL. Komm wieder, wenn merkst, daß Dein PhpMyAdmin zwar schön bunt ist, das MySQL aber als Datenbank NICHT funktioniert bzw. daß elementare Features fehlen. Frag dann bitte gleich im passenden Forum.
 
Zurück
Oben