Борьба со строкой SQL - PullRequest
       51

Борьба со строкой SQL

0 голосов
/ 12 июня 2018

Я борюсь с SQL-подобной строкой, и я просто не знаю, как это исправить.

query = "SELECT P_askbid_midprice1, Label1 FROM 'DCIX_OB' WHERE time >= '2018-02-16T09:00:00Z' and time <= '2018-02-16T16:00:00' "

Я получил следующую ошибку с предыдущей строкой:

Traceback (most recent call last):
  File "graph_influxdb.py", line 53, in <module>
    read_data(length='5min')
  File "graph_influxdb.py", line 29, in read_data
    result = client.query(query)
  File "/usr/local/lib/python3.6/dist-packages/influxdb/client.py", line 394, in query
    expected_response_code=expected_response_code
  File "/usr/local/lib/python3.6/dist-packages/influxdb/client.py", line 271, in request
    raise InfluxDBClientError(response.content, response.status_code)
influxdb.exceptions.InfluxDBClientError: 400: {"error":"error parsing query: found DCIX_OB, expected identifier at line 1, char 39"}

Как я могу исправить эту проблему?

1 Ответ

0 голосов
/ 12 июня 2018

Строковые значения в одинарных кавычках (например, значения тегов), но не идентификаторы в одинарных кавычках (имена баз данных, имена политик хранения, имена пользователей, имена измерений, ключи тегов и ключи полей).

Идентификаторы в двойных кавычках, если они начинаются с цифры, содержат символы, отличные от [Az, 0-9, _], или если они являются ключевыми словами InfluxQL.Двойные кавычки не требуются для идентификаторов, если они не попадают ни в одну из этих категорий, но мы все равно рекомендуем их заключать в двойные кавычки.

Т.е. использовать FROM "DCIX_OB" (FROM DCIX_OB также допустимо, но не рекомендуется).

...