노드에 express가있는 앱을 사용하고 있습니다. PostgreSQL (NoSQL 경험이 전혀 없음)을 사용하는 아이디어가 나오기 전에 다른 DBMS에 대해 생각했지만 예기치 않은 오류로 인해 나를 괴롭 히고 있습니다.Node.js 및 postgresql 문제
나는 그가 로그인 할 때 사용자가 존재하는지 확인하기 위해 노력하고있어,하지만 Select 문이 작동하지 않는 이유를 알고하지 않습니다 : 초기 페이지 렌더링해야이 후
var query = client.query('SELECT "name" FROM "User" WHERE "pass" = $1', [req.body.password]);
console.log(query.toString());
query.on('row', function(row) {
console.log('user "%s"', row.name);
});
(그것을 실제로 공장). 나는 node-postgres
드라이버를 사용하고 있습니다.
만약 내가 client.query('SELECT * FROM "User"');
과 같은 것을 넣으면 데이터베이스가 완벽하게 작동합니다 (그리고 그 동작이 필요하지 않습니다). 나는 PostgreSQL 식별자 문제에 대해 읽었지만 그럼에도 불구하고 계속 발생하고있다.
변수를 작은 따옴표로 묶어야합니다. –
@ Jakub, 작은 따옴표 붙이기'var query = client.query ("SELECT 'name'FROM '사용자'WHERE 'pass'= $ 1", [req.body.password]);'나에게 구문 오류가 발생했습니다 ' 사용자 ', 이유를 모릅니다. @mu, [드라이버] (https://github.com/brianc/node-postgres/wiki/Prepared-Statements)의 문서에는 준비된 문장 (반복 사용 가능) 작동 방법이 나와 있습니다. – jontxu
이름 테이블은 큰 따옴표로 묶어야하며 작은 따옴표로 묶어야합니다. 따옴표를 벗어나야합니다. 당신은 또한 두 배 달러 따옴표를 할 수 있었다 (http://sqlfiddle.com/#!1/6ccc5/1108). –