Синтаксическая ошибка в конце ввода в PostgreSQL
я использовал следующий оператор SQL как в MySQL, так и в PostgreSQL, но он терпит неудачу в PostgreSQL
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = ?`, email)
С этой ошибкой:
pq: F:"scan.l" M:"syntax error at end of input" S:"ERROR" C:"42601" P:"50" R:"scanner_yyerror" L:"993"
в чем проблема? Сообщения об ошибках в PostgreSQL очень загадочны.
3 ответов
вы не предоставили каких-либо подробностей о языке/среде, но я все равно попробую угадать:
подготовленные операторы MySQL изначально используют ?
в качестве заполнителя параметра, но PostgreSQL использует ,
etc. Попробуйте заменить
?
С и посмотреть, работает ли он:
WHERE address =
сообщения об ошибках в PostgreSQL очень загадочны.
в общем, я обнаружил, что сообщения об ошибках Postgres лучше, чем конкурирующие продукты (ГМ, MySQL и особенно Oracle), но в этом случае вам удалось запутать парсер за пределами здравомыслия. :)
вы используете Go right?
попробуй:
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)
Попробуйте С @ Symbol его работа для меня.
при использовании ? символ:
Он говорит "Ошибка: 42601: синтаксическая ошибка в конце ввода"
при использовании 1$:
Он говорит "Ошибка: 42P02: нет параметра $1"