2015-09-14 4 views
-2

Например, у меня есть запрос в postgreSQL, так что «product_version =: productVersion». Это дает мне синтаксическую ошибку.Используем ли мы один двоеточие в postgreSQL?

+0

Показать полный код. –

+2

Язык программирования/инструменты? Что запускает SQL? Что такое * точный текст сообщения об ошибке? Версия PostgreSQL? Здесь много чего не хватает. –

+0

Похож на именованный параметр-заполнитель, для которого вы используете язык или базу данных. –

ответ

1

Это дает вам синтаксическую ошибку, поскольку она не имеет никакого смысла как SQL и является недопустимым синтаксисом.

(Всегда показывать точный текст сообщений об ошибках *)

С вставкой строки буквальным :productVersion не имеет особого смысла, например,

product_version=':productVersion' 

вы можете использовать клиент в psql командной строки и пытается заменить переменную клиента. Если да, то вы должны использовать кавычки замены, например .:

product_version=:'productVersion' 

но работает только для psql. Не Rails и Pg gem, а не JDBC, а не PHP, а не psycopg2, только psql.

Если это не то, что вы имели в виду, то либо вы используете язык программирования с параметрами места размещения, либо используете неправильный синтаксис параметров для своего языка, либо пытаетесь использовать замену переменных клиента командной строки psql и не используете psql. Невозможно угадать, что вы имеете в виду, если не укажете используемый язык/инструменты.

Посмотрите синтаксис параметра места размещения для вашего языка программирования и драйвера базы данных. Убедитесь, что вы используете правильный.

Смежные вопросы