2012-10-03 4 views
0

가능한 중복 무엇 :
Using backticks around field names
What are the differences between backtick and single quote? Can I use IF statement in a query as above?`MySQL의 쿼리 대 - 차이를

난 그냥 내가 qith SQL 쿼리를 가지고 문제를 파악하는 데 시간이 오래 소요 나는 다른 곳에서 주제에 대한 정보를 찾는 것처럼 보이지 않는 것처럼 좀 더 많은 정보를 원했습니다.

나는
INSERT INTO prep_items ('id' ,'description' ,'price' ,'gst' ,'job' ,'stores' ,'item_number' ,'decimal') 
VALUES ('NULL', 'TESTPRODUCT', '22.99', '1', 'PK', 'AB', '666', '1' 
); 

그러나 이것은 쿼리 구문 오류를 반환 유지 질의를했다. 필자의 두뇌를 한동안 두드리고 phpmyadmin이 db에 삽입하기 위해 생성 한 쿼리와 쿼리를 비교하면 필드 이름에 아포스트로피가 실제로`tilda (~)와 같은 키에있는 심볼임을 알게되었습니다.

두 기호의 차이점은 무엇입니까? 그리고 어디에서 'the'와 반대되는 것으로 사용되어야 하는가? (아포스트로피).

미리 감사드립니다.

(값 목록에서 ''s '를 변경하면 알 수없는 column'valuename '을 말하는 오류가 발생한다는 것을 알았지 만 열 목록에서만 사용할 수 있다고 생각합니다. 자세한 내용은?)

다시 한번 감사

+0

역 추적이라고하는 경우에만 알고 있습니다. 건배. –

+0

이 웹 사이트에 대한 자세한 내용은 이미 알고 있지만 MySQL 설명서에서 모든 정보를 찾을 수 있습니다. – hakre

답변

2

역음 ` 인용 테이블 이름과 열 이름으로 identifiers. 일반적으로 식별자를 인용 할 때는 선택 사항이지만 이름에 특수 문자 (예 : 공백)가 있거나 이름이 예약어 인 경우 (예 : desc) 필요합니다.

SELECT id, `desc` FROM yourtable 

작은 따옴표 '문자열 리터럴를 구분합니다.

SELECT * FROM yourtable WHERE name = 'Foo' 
+0

backtick-backtick-space-backtick을 사용하십시오. – zerkms

+0

@zerkms : 작동합니다! 감사. –

+0

그건 설명해! 내 SQL 테이블에 'decimal'이라는 새 열을 추가했습니다. 이전에 나는 진드기가 없었고 모든 것이 잘 작동하고 있었고 모든 것이 작동을 멈췄습니다 ... 완벽한 응답. 다시 한번 감사드립니다. 'decimal'이 MySql 예약어입니다. –