program tip

MySQL의 열 이름 "order"에 대한 대안

radiobox 2020. 11. 17. 07:59
반응형

MySQL의 열 이름 "order"에 대한 대안


사용자가 정의한 순서가 필요한 새 테이블을 만들 때 첫 번째 아이디어는 항상 열 이름 "order"로 이동합니다. 물론 예약어이기 때문에 좋지 않습니다.

DB 모델의 해당 열에 어떤 이름을 지정하고 있습니까?

당신의 도움을 주셔서 감사합니다.


예를 들어 "정렬"과 같은 간단한 동의어를 자주 사용합니다.


나는 "순서"대신 "위치"를 사용한다


표와 열 이름 주위에 체크 표시`를 추가하기 만하면됩니다. 예를 들면 다음과 같습니다.

  CREATE TABLE `order`
  (
         `order#` char(4) NOT NULL,
         `ord_date` DATE,
         Primary Key (`order#`)
  )
  ENGINE=InnoDB;

이렇게하면 특수 문자와 키워드를 사용할 수 있습니다. 최소한 현재 버전의 MySql에서 작동합니다.


적어도 SQL Server에서는 대괄호로 묶인 키워드를 사용할 수 있지만 좋은 생각은 아닙니다.

마지막으로이 작업을 수행했을 때 이름으로 SortOrder를 사용했다고 생각합니다. 그러나 저는 종종 UsrSortOrder와 같은 테이블을 반영하는 접두사를 사용하므로 항상 문제가되지는 않습니다.


ANSI / ISO SQL에서 큰 따옴표는 열 이름으로 사용될 때 키워드를 구분합니다. 문자열 리터럴은 작은 따옴표로 구분됩니다.

select "from" = 'from' from foo

Microsoft SQL Server에서는 큰 따옴표 대신 대괄호를 사용할 수도 있습니다.

select [from] = 'from' from foo

그러나 어느 쪽이든, 그것은 당신의 코드를 끔찍하게 엉망으로 만듭니다 (위의 내용을 누군가에게 읽어보십시오.)

결과를 정렬하기 위해 열이 필요한 경우 일반적으로 'sequence_number'또는 'sort_sequence'와 같이 이름을 지정합니다.

참고 URL : https://stackoverflow.com/questions/4716201/alternative-to-column-name-order-in-mysql

반응형