Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Flask, nie wszystkie argumenty są konwertowane podczas formatowania ciągu

Po prostu przekształcam mój wcześniejszy komentarz w odpowiedź, ponieważ wydawało się to właściwym rozwiązaniem :-)

Problem pochodzi z innej linii. Masz to:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email))

To nie robi tego, co mogłoby się wydawać. Wstawianie email w nawiasach nic nie robi, więc wiersz jest właściwie równoważny z przekazaniem każdego znaku tego, co znajduje się w tej zmiennej na liście znaków. Jeśli zamiast tego zrobisz to:

        x = c.execute("SELECT * FROM users WHERE email = (%s)",
                      (email,))

...wtedy będziesz przekazywać krotkę zawierającą jeden element, email i powinno działać lepiej.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wsparcie ScaleGrid DigitalOcean dla MySQL, PostgreSQL i Redis™ już dostępne

  2. SQL:wybierz wszystkie unikalne wartości w tabeli A, których nie ma w tabeli B

  3. if condition w mysql select w instrukcji

  4. Projekt bazy danych:3 typy użytkowników, oddzielne czy jedna tabela?

  5. java Hibernuj niepotrzebne zapytania na odłączonych obiektach