I use Pandas to read this SQL using Python (works using SELECT * FROM table):
ID Timestamp
1 AA34234234234234234234 B534
2 AA34234234234234234234 B864
3 cv0Qc0PJFDAP5S4T6pn69Y B435
4 cv0Qc0PJFDAP5S4T6pn69Y B978
All fields are "TEXT".
Now want to access the last row identical with ID = AA34234234234234234234 and enter this line:
status = pd.read_sql('SELECT * FROM table WHERE ID = AA34234234234234234234', database).tail(1)
I expect to get:
ID Timestamp
2 AA34234234234234234234 B864
But I get an error instead:
(sqlite3.OperationalError) unrecognized token: "AA34234234234234234234" [SQL: 'SELECT * FROM table WHERE ID = AA34234234234234234234'] (Background on this error at: https://sqlalche.me/e/14/e3q8)
I am sure I do a silly syntax mistake but I can't seem to narrow down the issue! The link is not helpful for me at least.
Suggestions?
CodePudding user response:
If ID column is of string type, you will need to wrap the ID in quotes:
status = pd.read_sql('SELECT * FROM table WHERE ID = "4234234234234234234234"', database).tail(1)
That is my suspicion of what is happening. I cannot be sure without knowing the table schema.