def insert(self, lerngruppe: Lerngruppe):
        """Einfügen eines Lerngruppe-Objekts in die Datenbank

        Der Primärschlüssel wird dabei überprüft und ggf. berechtigt.

        :param lerngruppe: Das zu speichernde Lerngruppen-Objekt
        :return: Das bereits übergebene Lerngruppen-Objekt, jedoch mit ggf, korrigierter ID.
        """
        cursor = self._cnx.cursor()
        cursor.execute("SELECT MAX(id) AS maxid FROM lerngruppen")
        tuples = cursor.fetchall()

        for maxid in tuples:
            if maxid[0] is not None:
                lerngruppe.set_id(maxid[0] + 1)
            else:
                lerngruppe.set_id(1)

        command = (
            "INSERT INTO lerngruppen (id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id) "
            "VALUES (%s,%s,%s,%s,%s)"
        )
        data = (
            lerngruppe.get_id(),
            lerngruppe.get_erstellungszeitpunkt(),
            lerngruppe.get_gruppenname(),
            lerngruppe.get_profil_id(),
            lerngruppe.get_konversation_id(),
        )
        cursor.execute(command, data)

        self._cnx.commit()
        cursor.close()

        return lerngruppe  # Rückgabe des bereits übergebenen Objektes, ggf. mit korrigierter ID
    def update(self, lerngruppe: Lerngruppe):
        """
        Aktualisieren eines Lerngruppen-Objekts in der Datenbank anhand seiner ID

        :param lerngruppe: Lerngruppen-Objekt, das in der Datenbank übergeschrieben werden soll
        """
        cursor = self._cnx.cursor()

        command = "UPDATE lerngruppen SET gruppenname=%s, profil_id=%s, konversation_id=%s WHERE id=%s "
        data = (
            lerngruppe.get_gruppenname(),
            lerngruppe.get_profil_id(),
            lerngruppe.get_konversation_id(),
            lerngruppe.get_id(),
        )
        cursor.execute(command, data)

        self._cnx.commit()
        cursor.close()