2014-11-21 2 views

답변

8

key은 MySQL 예약어이기 때문에.

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

단어 key에 대해 다시 눈금을 사용하십시오.

우리는 데이터베이스 테이블의 필드를 작성하는 동안 MySQL은 키워드를 예약 확인해야합니다 :

$upper = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_up'"); 
$lower = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_down'"); 

이런 종류의 문제를 피할 수있는 최선의 선택이다.

그리고 우리는 필드로 키워드를 사용하지 않도록해야합니다.

방법이 함께 해결하기 :

1) 테이블과 필드 이름에 대해 (`) 역 따옴표 사용합니다.

2) 테이블의 경우 데이터베이스 이름 앞에 databaseName.tableName을 붙입니다.

필드의 경우 : 앞에 테이블 이름 예 : tableName.fieldName.

이렇게하면 MySQL은 제공된 테이블이 데이터베이스 테이블 또는 필드 이름이 아닌 MySQL 예약 키워드가 아니라는 것을 해석합니다.

+0

감사합니다. 예약되지 않은 모든 열 이름에 다시 체크 표시를해야합니까? – devst3r

+1

필요 없음. 그러나 그렇습니다. 우리가 더 잘한다면 더 좋습니다. – Pupil

+0

내 답변이 도움이 되었다면 다른 커뮤니티 회원이 얻을 수 있도록 해결책으로 표시하십시오. – Pupil

관련 문제