Ankündigung

Einklappen
Keine Ankündigung bisher.

Logs löschen anhand der UserID

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Logs löschen anhand der UserID

    Hallo,

    Ich habe folgendes Problem ich möchte gerne in meiner Datenbank Tabelle in einem Loginlog

    Das der User der die ID 1 hat nur die Einträge mit seiner ID löschen kann alle.

    Wie würde der SQL Befehl dafür lauten?

    DB Aufbau sieht so aus:



  • #2
    Zitat von Heinzx3 Beitrag anzeigen

    Das der User der die ID 1 hat nur die Einträge mit seiner ID löschen kann alle.
    Dazu benötigst Du eine DB, die RLS kann. RLS: Row Level Security. Kann das Deine DB?
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      Ich wollte eigentlich nur das beim TRUNCATE Befehl anstatt alles dann nur die Einträge gelöscht werden mit der USER ID 3 oder 4.

      Kommentar


      • #4
        Hat nichts mit PHP zu tun.

        DELETE FROM my_table WHERE userid = 1

        Kommentar


        • #5
          Dachte hätte was mit PHP zu tun weil ich es ja über PHP ausführen will Danke der Befehl funktioniert.

          Kommentar


          • #6
            Zitat von hellbringer Beitrag anzeigen
            Hat nichts mit PHP zu tun.

            DELETE FROM my_table WHERE userid = 1
            Das verhindert nicht, daß das User mit ID=3 ausführt, Oder mit ID 5.
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              Zitat von Heinzx3 Beitrag anzeigen
              Ich wollte eigentlich nur das beim TRUNCATE Befehl anstatt alles dann nur die Einträge gelöscht werden mit der USER ID 3 oder 4.

              TRUNCATE kennt keine Where-Condition.

              Code:
              test=# \h truncat
              Anweisung:    TRUNCATE
              Beschreibung: leert eine oder mehrere Tabellen
              Syntax:
              TRUNCATE [ TABLE ] [ ONLY ] Name [ * ] [, ... ]
                  [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
              
              test=#
              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

              Kommentar


              • #8
                Zitat von akretschmer Beitrag anzeigen
                Das verhindert nicht, daß das User mit ID=3 ausführt, Oder mit ID 5.
                Ich hoffe doch, dass gar kein User SQL-Abfragen ausführen kann.

                Kommentar


                • #9
                  Zitat von hellbringer Beitrag anzeigen

                  Ich hoffe doch, dass gar kein User SQL-Abfragen ausführen kann.
                  Seine Frage war aber eindeutig. Und warum auch nicht, Datenbanken haben dafür Nutzer und Rechte etc. Und für seine Aufgabenstellung gibt es RLS.

                  Kann natürlich sein, daß er sein Problem falsch dargestellt hat, Hellsehen kann ich ja nicht.
                  PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                  Kommentar


                  • #10
                    Zitat von akretschmer Beitrag anzeigen
                    Seine Frage war aber eindeutig.
                    Ja, offenbar redet er von einem User hinter einer PHP-Anwendung. Solche haben in der Regel aus gutem Grund gar keinen Zugang zur Datenbank.

                    Kommentar


                    • #11
                      Das der User der die ID 1 hat nur die Einträge mit seiner ID löschen kann alle.
                      Wie würde der SQL Befehl dafür lauten?
                      Das ist unabhängig von PHP, um das in SQL / in der DB SICHER zu realisieren gibt es RLS.
                      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                      Kommentar


                      • #12
                        Zitat von akretschmer Beitrag anzeigen

                        Das verhindert nicht, daß das User mit ID=3 ausführt, Oder mit ID 5.
                        Das Regel ich ja per PHP das auch nur der User mit der ID3 es ausführen kann.

                        Kommentar


                        • #13
                          Zitat von Heinzx3 Beitrag anzeigen

                          Das Regel ich ja per PHP das auch nur der User mit der ID3 es ausführen kann.
                          Ah ja. Ich bin stolz auf Dich!

                          Code:
                          delete from my_table where user_id = random()*1000;
                          schönen Tag noch
                          PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                          Kommentar

                          Lädt...
                          X