복붙노트

[SQL] 테이블 필드는 하이픈을 포함 할 수 있습니까?

SQL

테이블 필드는 하이픈을 포함 할 수 있습니까?

나는 필드 이름 '제품'과 MySQL의 테이블에 테이블이 있고, 'DS-제품'으로 이름을 변경하고 싶습니다.

내가 사용하고있는 CMS 형 시스템에 삽입 할 테이블 필드의 이름으로 formfields의 ID를 사용합니다.

대부분이 잘 작동하지만, 특정 필드에 대한 그것의 앞에 추가 'DS-'에 어떤 ID 나는 테이블 필드 이름이 일치해야합니다 그래서, 그것을 제공합니다.

쿼리를 수행 할 때 그러나, 나는 오류가 얻을

'필드 목록'에서 알 수없는 열 'sales.ds'

내가 필드라는 DS-제품을 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.당신은 구분 식별자를 사용하는 경우 예, 구두점, 공백, 국제 문자를 사용할 수 있으며, SQL은 예약 된 단어 :

    당신은 구분 식별자를 사용하는 경우 예, 구두점, 공백, 국제 문자를 사용할 수 있으며, SQL은 예약 된 단어 :

    SELECT * FROM `my-table`;
    

    MySQL의에서, 백 틱을 사용합니다. 표준 SQL에서 큰 따옴표를 사용합니다.

    당신이 MySQL을 사용하는 경우 또는 당신은 ANSI_QUOTES SQL 모드를 설정할 수 있습니다 :

    SET SQL_MODE = ANSI_QUOTES;
    SELECT * FROM "my-table";
    
  2. ==============================

    2.테이블에 통화의 마지막 부분에 괄호를 넣어보십시오. 귀하의 경우 :

    테이블에 통화의 마지막 부분에 괄호를 넣어보십시오. 귀하의 경우 :

    SELECT * FROM [TABLE-NAME];
    

    바로 테이블 이름 만에 괄호를 넣어해야합니다. 전체 데이터베이스에이 위치하지

    SELECT * FROM some_database.anotherdatabase.[your-table];
    

    추신 너무 열에서 작동합니다.

    나는 Microsoft SQL Server 관리를 사용하고 있습니다.

  3. from https://stackoverflow.com/questions/3168644/can-a-table-field-contain-a-hyphen by cc-by-sa and MIT license