SqlAlchemy Core und Bare Exists-Abfrage

Ich bin auf ein Problem gestoßen, bei dem ich mithilfe von feststellen muss, ob die Daten in der Tabelle vorhanden sindSQLAlchemy Core.

Ich denke, der beste Weg, um diese Abfrage zu tun, ist zu verwendenexists Methode, die die Suche beendet, sobald das erste Objekt gefunden wurde. Also habe ich diese Version von query erstellt:

conn = self.db.connect()
query = exists().where(cookie_table.c.cookie_id == cookie_id)
result = conn.execute(query)

Aber es erzeugt diesen Fehler:

StatementError: Not an executable clause (original cause: ArgumentError: Not an
executable clause) 'EXISTS (SELECT * \nFROM cookie \nWHERE cookie.cookie_id = ?)' []

Ich habe versucht, es ein wenig zu modifizieren (kombiniert mit select), aber ohne Erfolg.

Also kam ich schließlich auf eine andere Lösung mitlimit(1), was funktioniert.

conn = self.db.connect()
query = select([1], cookie_table.c.cookie_id == cookie_id).limit(1)
result = conn.execute(query).fetchone()
return True if result is not None else False

Ich habe zwei Fragen:

Wie die Aufgabe gelöst werden kann mitexists Methode?

Ist die Abfrage mitlimit so effizient wie mitexists?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage