2013-09-25 2 views
2

debian-linux-gnu (x86_64) 용 mysql 버전 14.14 Distrib 5.5.31을 사용하고 있습니다.MySQL 부울 값 작음

이 질의는 실패 메시지 You have an error in your SQL syntax[...]near 'read ASC' 다음 read 컬럼이 논리 값을 저장하는 레일 액티브 인터페이스에 의해 생성 된 값이다 TINYINT(1)

SELECT 'messages'.* FROM 'messages' WHERE 'messages'.'user_id' = 2 ORDER BY read ASC; 

.

postgresql로 전환 할 때도 동일한 동작을하지만, 현재 생성 된 쿼리에 액세스 할 수 없습니다. 실제 검색어에 문제가 있습니까? (어쩌면 나는 tinyint로 주문할 수 없나요?) 아니면 버그 보고서를 제출해야합니까?

답변

3

읽기 당신이

1

@ 나빈의 대답에 열 식별자 위해 예약 된 단어를 사용하여 피할 수 있다면 그것은 더 나은, 당신은 change your single quotation marks into backticks해야합니다 :

SELECT `messages`.* FROM `messages` WHERE `messages`.`user_id` = 2 ORDER BY read ASC; 

더 나은 아직 MySQL 예약어를 열 이름으로 사용하지 마십시오. 이름을 변경하려면 ALTER을 사용하십시오.

ALTER TABLE messages CHANGE read seen TINYINT 
+1

실제 코드는 오타를 사용하며 오타였습니다. '본'제안을 주셔서 감사합니다 나는 실제로 좋은 이름 바꾸기를 찾으려고 노력했습니다! –