Tôi đã sử dụng các câu lệnh SQL tiếp theo trong cả MySQL và PostgreSQL, nhưng nó bị lỗi trong PostgreSQLCú pháp lỗi ở cuối đầu vào trong PostgreSQL
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = ?`, email)
với lỗi này:
pq: F:"scan.l" M:"syntax error at end of input" S:"ERROR" C:"42601" P:"50" R:"scanner_yyerror" L:"993"
vấn đề là gì ? Các thông báo lỗi trong PostgreSQL rất khó hiểu.
Bạn đang mã hóa ngôn ngữ nào? Tôi có nghĩa là ngôn ngữ của khách hàng, không phải là SQL. –
Bạn đang sử dụng ứng dụng cơ sở dữ liệu nào? Đó là lỗi khó hiểu là nhiều hơn để làm với khách hàng cơ sở dữ liệu hơn so với máy chủ cơ sở dữ liệu. Nếu tôi chuẩn bị tuyên bố đó thì tốt, vì vậy vấn đề rất có thể xảy ra với ngôn ngữ lập trình hoặc bộ điều hợp cơ sở dữ liệu của bạn. Hãy thử nó trong 'psql'. 'PREPARE q CHỌN SELECT COUNT (*) là N TỪ email WHERE address = $ 1;' sau đó 'EXECUTE q;'. '$ 1' là cú pháp giữ chỗ cho' PREPARE', nhưng ngôn ngữ lập trình của bạn có thể sử dụng '?'; nếu không thì không có sự khác biệt. –